IOS, Android 앱 개발 외주를 Flutter로 진행하면서 느낀 부분들을 공유하려고 합니다.
특히 Mac이랑은 전혀 인연이 없는 윈도우 개발자가 Flutter로 IOS 개발 및 배포를 어떤 방식으로 했는지도 정리해봤습니다.
왜 Flutter를 선택했나요?
크로스플랫폼 앱 개발 도구로 React native, Xamarin, Flutter 등의 선택지가 있습니다.
Flutter, 충분히 성숙한 프레임워크인가요?
개발 언어인 dart와 Flutter 프레임워크 자체는 충분히 성숙했다고 생각합니다.
커뮤니티 측면에서 Stackoverflow에 등록된 react native 질문 수는 약 8만 (reactjs를 포함하면 30만 이상) ,
Flutter의 질문 수는 약 5만 건 정도로 3만 건의 차이가 납니다.
Dart 언어, 배우기 어려운가요?
언어 자체가 C#, JAVA와 매우 유사해서 배우기 쉽습니다.
거기에 더해 Hot reload 지원, 퍼포먼스(애니메이션), 등 성능, 편의성 측면에서 좋은 부분들이 많이 있습니다.
Dart에 대한 장점은 아래 링크에 잘 정리되어 있습니다.
https://beomseok95.tistory.com/315
Flutter로 개발하면서 좋았던 부분
Google이 공식 지원하는 프레임워크인 만큼 Google 에코시스템과 연동이 잘됩니다.
특히 저는 Notification 기능 때문에 Firebase Cloud message를 꼭 사용해야 했는데, 문서화 및 샘플코드가 굉장히 잘 되어있고, 연동 과정이 굉장히 매끄러워서 구글 측에서 상당히 신경을 많이 썼다는게 느껴졌습니다.
React native와 다르게 Javascript bridge가 없고,
Skia rendering engine이 IOS, Android 위에서 UI를 그려주기 때문에 높은 성능을 기반으로
플랫폼 간 완전하게 동일한 UI 개발이 가능합니다.
또 Cupertino, material 두 UI 컴포넌트를 섞을 수도 있습니다.
애니메이션, 화면 라우팅 등에서 느껴지는 체감 성능도 아주 좋았습니다.
Flutter 게임 개발도 가능하다고 하니 일반 어플리케이션의 성능은 말할 것도 없습니다.
Flutter로 개발하면서 안 좋았던 부분
Flutter에는 개발 시간을 획기적으로 줄여줄 수 있는 다양한 플러그인들이 존재합니다.
또 Flutter는 구글에서 공식으로 미는 프레임워크이므로
구글에서 공식으로 Release하는 플러그인들이 다수 있습니다.
구글 공식 플러그인을 사용하면서 크게 문제가 생긴 부분은 없었지만,
버전이 아직 많이 낮아서 사용할 때 불안한 요소가 어느 정도 있다고 생각합니다.
써드파티 플러그인의 경우, 플러그인 마다 완성도가 워낙 천차만별이라 따로 언급은 안 하겠습니다.
만약 Flutter를 사용하실 계획이시라면 필요한 Plugin들의 버전 및 안정도를 미리 확인하시는 게 좋을 것 같습니다.
윈도우에서 IOS 빌드하기 (불가능합니다 ^^;)
'프로그래밍 > App' 카테고리의 다른 글
[APP] MobiAudit 시장조사 앱 (0) | 2020.09.08 |
---|---|
[APP] Flutter 관련 youtube 영상 (0) | 2020.08.26 |
[하이브리드앱] 김영편입 x 편입어휘 뽀개보카 (0) | 2020.06.23 |
android : WindowChangeDetect extends AccessibilityService (0) | 2019.09.03 |
Samsung Flow : 태블릿/PC와 갤럭시 휴대폰의 연동 (0) | 2019.09.02 |