attached to post
# 안드로이드 컨퍼런스 Native vs Flutter (+KMP) 신입일 때부터 주변에서 "앞으로 Flutter가 대세일 것이다", "멀티 플랫폼을 알아야 한다" 등 다양한 의견을 들었습니다. 저도 앞으로 멀티 플랫폼을 학습하여 미래를 준비해야 할지, 그리고 언제 멀티 플랫폼을 도입하는 것이 좋을지 항상 고민해왔습니다. 이런 고민 속에서 현업에서 Native, Flutter, KMP(Kotlin MultiPlatform)을 경험한 분들이 각각의 장점을 이야기하고 어떤 기술을 사용하는 것이 앱 개발에 유리한지에 대해 발표하는 컨퍼런스가 개최되어 참가하게 되었습니다! 😃 https://event-us.kr/ted/event/79581 발표된 내용을 간단히 정리하자면, <Flutter> - Flutter는 명령형 UI로 스트레스를 줄이며 건강을 유지할 수 있는 특성이 있습니다. - One/single source & multi-use6가지 플랫폼에서 하나의 코드로 빌드할 수 있습니다. - Flutter는 간단한 MVP 모델을 쉽게 구축할 수 있으며, 디자이너 요청에 빠르게 대응할 수 있습니다. - 네이티브 지식을 활용하면 Flutter 개발이 유리합니다. - Dart 언어는 sealed class와 null safety 등 최신 기능을 지원하여 현대적입니다. <KMP> - 코틀린 멀티플랫폼은 코틀린 코드를 여러 플랫폼에서 사용할 수 있도록 하는 기능을 제공합니다. - KMP는 Android와 iOS 간 로직 공유에 중점을 두고 테스트 중입니다. - 컴포즈 멀티플랫폼은 UI까지 Compose로 공유할 수 있습니다. - KMP는 네이티브 접근이 가능하며 iOS에서 Kotlin exception이 Swift exception으로 자동 변환됩니다. - 기존의 크로스 플랫폼과는 다른 방향성을 가지며, 유연한 개발을 가능하게 합니다. - KMP는 IOS, Web, Fleet 등 다양한 플랫폼에서의 활용과 지속적인 발전을 지향합니다. <Native> - 웹앱/하이브리드부터 Xamarin, React Native, Flutter까지 다양한 크로스 플랫폼들이 있으나 왜 안되는지 이유는 다양합니다. - 샘플 앱은 좋지만 실제로 서비스되고 유지되는 앱에서의 문제들이 발생합니다. - 크로스 플랫폼은 네이티브 앱 개발보다 앱 속도, 디버깅, 트러블 슈팅 등에서 제약이 있습니다. - 개발자는 각 플랫폼의 특성과 언어를 알아야 하며, 라이브러리 부족, 버전 대응 등의 문제가 발생할 수 있습니다. - 크로스 플랫폼을 고려할 때는 서비스 특성, 개발자 역량, 팀 구성 등을 고려해야 합니다. - 앞으로는 앱 개발이 아닌 생성형 AI 플러그인 개발을 고려해볼 필요가 있습니다. (기업 공고를 추천해주는 원티드 플러그인 소개!) 위와 같이 각 기술의 장점을 공유해 주셨습니다. 이번 컨퍼런스를 통해 멀티 플랫폼 기술은 해당 기술에 대한 관심이 많아야만 현재의 Flutter와 같이 발전하고 사용할 수 있는 수준이 된다는 것을 알 수 있었습니다. 또한, 적은 인원으로 멀티 플랫폼을 지원하는 프로덕션을 만들 수 있는 장점이 있지만, 여러 멀티 플랫폼들이 지원 중단되는 등의 리스크와 관련된 장단점을 고려해서 도입해야겠다는 것을 알 수 있었습니다. 🗳️ 번외) 각 기술 별 선호도 투표 컨퍼런스 시작 전에는 Native가 65%, Flutter가 30%, KMP가 4%의 선호도를 보였습니다. 하지만 발표 후에는 Native가 57%, Flutter가 29%, KMP가 14%로 변화하였습니다! KMP에 대해 처음 들어보신 분들도 이번 발표를 통해 흥미를 느끼셨던 것 같습니다. 앞으로 KMP의 발전에 대해 기대해봅니다.
콘텐츠를 더 읽고 싶다면?
원티드에 가입해 주세요.
로그인 후 모든 글을 볼 수 있습니다.
댓글 3