"요즘 Flutter가 대세라던데요"
앱 개발 문의에서 가장 자주 나오는 질문이다. 그리고 대세라서 고르는 건 가장 나쁜 이유다.
크로스플랫폼(Flutter, React Native)과 네이티브(Swift/SwiftUI, Kotlin/Compose)는 트레이드오프가 명확한 두 선택지다. 어느 쪽이 맞는지는 만들 앱이 뭐냐로 갈린다.
크로스플랫폼이 이기는 경우
단일 코드베이스로 iOS/Android 동시 출시가 핵심 이점이다. 개발·유지보수 비용이 대략 반이다.
이럴 때 크로스플랫폼(특히 Flutter)이 잘 맞는다.
- 폼 · 리스트 · 상세 화면 중심의 앱 — 커머스, 예약, 커뮤니티, 사내 업무앱, 컨텐츠 뷰어
- MVP·초기 스타트업 — 빠르게 양 플랫폼에 내놓고 반응을 봐야 한다
- 디자인 일관성이 중요한 앱 — Flutter는 자체 렌더링 엔진이라 두 OS에서 픽셀 단위로 똑같이 나온다
- 작은 팀 — 한 명이 양 플랫폼을 다 본다
멘탈 웰빙 앱, 라이프스타일 앱, B2B 업무앱 같은 건 대부분 여기 해당한다.
네이티브가 이기는 경우
크로스플랫폼의 대가는 OS 최신 기능과 하드웨어에 한 박자 늦고, 특정 영역에서 성능·완성도 천장이 낮다는 것이다.
이럴 때는 네이티브로 간다.
- 하드웨어를 깊게 쓰는 앱 — 카메라 커스텀 파이프라인, 실시간 영상 처리, AR, 블루투스 저전력(BLE) 정밀 제어, 오디오 레이턴시가 중요한 앱
- OS 신기능을 바로 써야 하는 앱 — 위젯, 라이브 액티비티, 잠금화면 연동, 시스템 공유 확장
- 60fps로도 부족한 인터랙션 — 고빈도 제스처, 복잡한 물리 애니메이션, 게임에 준하는 UI
- 플랫폼 하나만 targeting — iOS 전용 프리미엄 앱이면 크로스플랫폼 이점이 사라진다
- 이미 네이티브 팀이 있는 조직
판단 순서
문의를 받으면 이 순서로 본다.
- iOS·Android 둘 다 필요한가? 하나면 → 네이티브.
- 하드웨어·OS 신기능 의존도가 높은가? 높으면 → 네이티브 (또는 네이티브 모듈 섞은 하이브리드).
- 화면이 대부분 폼·리스트·상세인가? 그렇다 → 크로스플랫폼.
- 팀이 작고 빨리 내야 하는가? 그렇다 → 크로스플랫폼.
- 애매하면 → Flutter로 시작하고, 성능이 문제되는 특정 화면만 네이티브 모듈로 뺀다. 이게 실패 비용이 가장 낮다.
자주 나오는 오해
"크로스플랫폼은 느리다" — 폼·리스트 중심 앱에서는 체감 차이가 없다. 느린 건 렌더링이 아니라 대개 잘못 짠 상태 관리와 불필요한 리빌드다.
"나중에 네이티브로 갈아탈 수 있다" — 사실상 재작성이다. 처음 선택이 중요한 이유.
"React Native가 Flutter보다 안정적이다" — 팀이 이미 React를 쓰고 웹 코드를 공유하려는 게 아니면, 신규 앱은 Flutter가 빌드·렌더링 일관성 면에서 손이 덜 간다.
정리
Flutter냐 네이티브냐는 "양 플랫폼이 필요한가 + 하드웨어를 깊게 쓰는가" 두 축으로 거의 결정된다. 대세나 언어 취향으로 고르면 6개월 뒤에 후회한다. 애매하면 Flutter로 시작해서 문제 지점만 네이티브로 빼는 게 가장 안전하다.
앱 프로젝트 기술 스택을 정하는 단계라면 Mobile App Development 또는 기술 컨설팅을 참고하면 된다. Flutter 기초부터 상태 관리·배포까지는 모바일 개발 교육에 정리해뒀다.