Upgrade to Pro — share decks privately, control downloads, hide ads and more …

I/O Extended 2024 Incheon 실패한 마이그레이셔...

SaeByeok
August 03, 2024
47

I/O Extended 2024 Incheon 실패한 마이그레이션도 개발자는 배운다

인천에서 진행한 I/O Extended
Flutter 세션입니다.

SaeByeok

August 03, 2024
Tweet

Transcript

  1. • 실패의 가치 강조 • 경험 공유 • 지식 향상

    • 문제 해결 능력 향상 • 기술적 이해 증진 발표 주제
  2. 01 02 03 04 05 06 07 자기소개 프로젝트 히스토리

    마이그레이션 이유 문제 및 실패 원인 기술적 문제 및 해결 실패 원인 분석 및 배운 점 긍정적인 점과 성공적인 시도 목차
  3. 기존 앱 문제 프로젝트 히스토리 기술적 부채로 인해 업데이트나 중요한

    기능들이 되지않고, 새로운 기능도 붙일 수 없는 상황
  4. •Flutter는 하나의 코드베이스로 안드로이드와 iOS 앱을 동시에 개 발 가능

    •개발자들이 앱을 여러 플랫폼에 대해 독립적으로 개발하고 유지할 필요 없이 효율적으로 앱을 구축할 수 있도록 도와 줌 •개발 시간과 비용을 절약할 수 있으며, 앱의 일관된 사용자 경험을 제공 크로스플랫폼 개발의 장점 마이그레이션 이유 https://medium.com/flutter/does flutter boost develop
  5. •Flutter는 하나의 코드 베이스로 앱을 개발하기 때문에 유지 보수가 용이

    •많은 기업들이 서비스를 업데이트 하기 위해 iOS / 안드로이드 앱을 각 각 제작해서 유지 보수를 하고 있지만, Flutter는 하나의 코드만 작성하 면 iOS / 안드로이드 두 플랫폼에 앱을 업데이트하고 운영가능 •개발 속도 향상과 유지 보수의 용이성은 개발 생산성을 향상시키고 전체 개발비용을 줄일 수 있다 . 유지보수의 용이성 마이그레이션 이유 https://medium.com/flutter/does flutter boost develop
  6. •Flutter의 핫 리로딩 기능은 앱의 코드 변경 사항을 즉시 확인할

    수 있게 해줌 •개발자들이 빠르게 실험하고 반응형 UI를 빌드할 수 있도록 도와 줌 •코드 수정 후 앱을 다시 빌드할 필요 없이 변경 내용을 즉시 확인할 수 있어 개발 프로세스가 더욱 빠르고 생산적이며, 피드백 주기를 단축 가능 빠른 개발 사이클 마이그레이션 이유
  7. BYE NEW 1֙ର iOS -> Flutter ѐߊ੗ 2֙ର Flutter ѐߊ੗

    4֙ର Flutter ѐߊ੗ 1֙ର java ѐߊ੗ 3명의 Flutter 1명의 Server 3֙ର uiux ٣੗੉ց 1명의 UIUX ೐۽ં౟ ੌ੿ ҙܻ ೐۽ં౟ ೖ୛ ҙܻ ೐۽ં౟ ੌ੿ ҙܻ ೐۽ં౟ ೖ୛ ҙܻ ۨѢद জҗ नӏ ӝמ ా೤ ӝദ 1명의 팀장 1명의 기획자 ֎ Ӓۧणפ׮... N명의 의사결정권자 마이그레이션 이유 투입 멤버 소개
  8. 3ਘ 4ਘ 5ਘ 6ਘ 7ਘ 입사 NEW UI 입히기 레거시

    앱 파악 1차 완료 추가되는 기능 붙이기 외주 앱 파악 레거시 앱 클론코딩 완료 외주앱 + 레거시앱 병합 마이그레이션 이유 타임라인
  9. API 통합 문제 ੿ܻغ૑ ঋ਷ API৬ ೐۾द ࢲߡ ࢎਊ ҃೷

    레거시 코드 해석 다중 앱 통합 기획 부재 ஶఫझ౟ হ੉ ӝઓ ֎੉౭࠳ ௏٘ܳ ࠁ Ҋ 
 ਬ୶೧ঠ ೞח ࢚ട iOS৬ Androidਊ Ӗ۽ߥ ߂ ੌࠄ জ 4 ѐ, 
 ৻઱۽ ݅ٚ Flutter জ ా೤ दب ӝദ੗੄ জী ؀ೠ ੉೧ب ࠗ઒. 기획과 일정 ӝઓ ӝמਸ ௿ۿ ௏٬ೞח ؘ ӝрਸ 
 2׳۽ ੟ওਵա, ࠅܬ੉ ழ૗ 잦은 기능 추가와 삭제 ӝמ੉ ࠼ߣೞѱ ୶оغ঻׮о ࢏ઁغ ח ࢚ട feat. ੣਷ ٣੗ੋ ߸҃
  10. 찰스프록시를 통해서 클라이언트쪽으로 데이터 response 를 보내서 데이터 request 를

    볼수있었고, 찾은 api를 포스트맨에 정리함 API 통합 문제 https://medium.com/ begunova/charles proxy setup for desktops and mobile devices 03c3fd28f882 문제점
  11. UI/UX 이슈 ӝઓ জ ٣੗ੋ੄ ࠛݺഛࢿ 푸시 통합 암호화 문제

    맵 통합 ֎੉౭࠳ জਊ FCM ߂ APN ా೤ ഥࢎীࢲ ࢎਊೞח 
 ঐഐച ಁఢ ೧ࢳ 웹 뷰로 연결되는 링크들은 서 버에서 암호화하여 로그인 인 증 문제를 해결했습니다. QR 체크인 기능은 기존 기록 을 참고하여 네이티브 코드를 수정해 해결했습니다. উ٘۽੉٘ Google Map, iOS Apple Map ా೤ ޙ ઁ 기술적 문제 및 해결 기존 앱의 API 키 사용으로 미 사용 값을 찾는 데 시간이 소요 됩니다. 지도와 리스트의 호환성 문제와 필터 값 및 아이콘 이미지, 기존 네이티브 코드를 찾는 데 시간 이 걸립니다. FCM과 APNs는 각각 네이티 브 용도로 개발되어 통합이 필 요했으나 분기 과정에서 문제 가 발생했습니다. 기존 네이티브 앱은 여전히 FCM과 APNs를 통해 서비스 되고 있습니다. 해결없음... 네버엔딩 디자인 컨셉 계속 발굴/변경 중
  12. UIUX 입사 새로운 앱 개발 외주 앱 기능 삭제/추가 3ਘ

    4ਘ 5ਘ 6ਘ 7ਘ 2명의 Flutter 입사 외주 앱 기능 병합 레거시 앱 기능 추가 NEW UI 입히기 외주 앱 파악 레거시 앱 기능 삭제/추가 실제 진행된 타임라인 NEW UI 입히기 레거시 앱 기능 삭제/추가 -> 외주 앱 기능 삭제/추가 -> NEW UI 입히기 사이클이 네버엔딩으로 끝나지않음 4ਘ 5ਘ 6ਘ 7ਘ 실패 원인 분석
  13. 3ਘ 4ਘ 5ਘ 6ਘ 7ਘ 입사 NEW UI 입히기 레거시

    앱 파악 1차 완료 추가되는 기능 붙이기 외주 앱 파악 레거시 앱 클론코딩 완료 외주앱 + 레거시앱 병합 기대한 타임라인 실패 원인 분석
  14. 처음으로 프록시 사용 경험 찰스 프록시 사용해보기 Flutter 프론트 집중

    그동안은 프론트/서버를 함께 했는데, 이번에는 각 파트가 나눠있어서 프론트만 만져보는 경험을 함 코드 독해력 향상
 ׮ܲ ࢎۈ੄ ௏٘ܳ ੍Ҋ ੉೧ೞח מ۱ ೱ࢚ 실패 원인 분석 및 배운 점 럭키비키