Rose
Rose
🎻 루키 파트너
🚀 SNS 챌린지 달성자

안드로이드 앱 개발 기술 스택 선택 가이드 - Kotlin, Flutter, React Native, Expo

안드로이드 앱 개발 시 기술 스택 선택을 돕기 위해 쓰는 가이드입니다.

성능 비교 요약:
Kotlin (Jetpack Compose) > Flutter > React Native > React Native + Expo

Kotlin은 안드로이드 네이티브 언어로, 하드웨어 성능을 최대로 끌어내며 가장 적은 앱 용량을 차지합니다. Flutter는 자체 렌더링 엔진(Skia)을 사용하여 네이티브에 준하는 부드러운 성능과 일관된 UI를 제공합니다. React Native(RN)는 자바스크립트 브리지(Bridge)를 통한 통신으로 인해 복잡한 연산에서 병목이 발생할 수 있으나 웹 개발 경험을 활용할 수 있습니다. Expo는 RN을 한 번 더 래핑하여 편의성을 극대화한 대신 런타임 오버헤드가 약간 더 존재할 수 있습니다.

Kotlin & Jetpack Compose (Native)

안드로이드 앱 개발의 표준입니다. Google이 권장하는 현대적인 UI 툴킷인 Jetpack Compose를 사용하여 직관적인 UI 개발이 가능합니다. Kotlin Multiplatform(KMP)을 도입하면 비즈니스 로직, 데이터 통신 등을 iOS와 공유하면서도 UI는 각 플랫폼에 맞춰 네이티브로 그릴 수 있어 재사용성이 뛰어납니다.

Flutter

Google이 개발한 Dart 언어 기반의 UI 프레임워크입니다. 운영체제의 UI 컴포넌트를 직접 사용하지 않고, 자체 엔진으로 화면을 직접 그리기 때문에 픽셀 단위의 디자인 제어가 가능합니다. 안드로이드, iOS, 웹, 데스크톱까지 단일 코드로 커버할 수 있습니다.

React Native (RN)

Meta(페이스북)가 개발한 JavaScript 기반 프레임워크입니다. React의 선언형 UI 작성 방식을 그대로 가져와 모바일 앱을 개발합니다. JavaScript 코드와 네이티브 모듈 간의 '브리지'를 통해 통신하며, 웹 개발자에게 가장 친숙한 환경을 제공합니다.

Expo

React Native를 기반으로 한 프레임워크 및 플랫폼입니다. 복잡한 빌드 설정(Gradle, Xcode 등) 없이 앱을 개발하고 배포할 수 있도록 돕습니다. 카메라, 위치 정보, 푸시 알람 등 자주 쓰이는 기능들이 미리 내장되어 있어 초기 설정이 매우 간편합니다.

  • Expo: 생산성이 극대화되어 있습니다. expo start, expo build 등 간편한 명령어로 개발 주기를 단축시킵니다. Mac이 없어도 iOS 빌드가 가능하며(클라우드 빌드), 초기 설정에 시간을 낭비하지 않습니다.

  • Flutter: Hot Reload 기능이 혁신적입니다. 코드 수정 후 1초 내로 UI 변경 사항이 반영되어 프로토타입 제작 속도가 매우 빠릅니다. 풍부한 위젯 라이브러리를 조립하듯 개발할 수 있습니다.

  • React Native: Fast Refresh 기능을 제공하여 앱 상태를 유지하며 코드를 반영합니다. 웹 개발 도구(VS Code, Chrome DevTools)를 그대로 사용할 수 있어 진입 장벽이 낮습니다.

  • Kotlin: Android Studio의 강력한 기능(레이아웃 에디터, 성능 프로파일링)을 제공하지만, 빌드 시간이 상대적으로 길고 수정 사항 확인에 시간이 소요됩니다.

<성능 및 앱 용량>

  • Kotlin: JVM 최적화 및 하드웨어 가속을 직접 제어하여 고사양 게임이나 센서 처리 앱에서 지연 없는 성능을 보여줍니다. 불필요한 라이브러리가 없어 용량이 가장 작습니다.

  • Flutter: 자체 엔진을 포함하여 앱 용량이 다소 크지만(Hello World도 수 MB), 성능은 네이티브에 준합니다. 60fps의 부드러운 애니메이션 구현이 용이합니다.

  • React Native / Expo: 일반적인 앱에서는 충분히 부드럽습니다. 단, 애니메이션이나 대량의 데이터 처리 시 JS-네이티브 간 통신 오버헤드로 인해 프레임 드랍이 발생할 수 있습니다. Expo는 사용하지 않는 모듈도 포함될 수 있어 용량이 커지는 경향이 있으나 최적화(Minify)로 완화 가능합니다.

<확장성 및 유지보수>

  • Kotlin: 대규모 프로젝트와 장기 유지보수에 가장 적합합니다. 아키텍처 패턴이 잘 정립되어 있고 팀 협업에 유리합니다.

  • Flutter: 단일 코드로 iOS/Android를 동시에 관리하므로 유지보수 효율이 높습니다. 버전 업그레이드 도구가 잘 갖춰져 있습니다.

  • Expo의 한계: Expo SDK에서 지원하지 않는 네이티브 기능이 필요한 경우 'eject'를 통해 순수 RN 프로젝트로 전환해야 하며, 이 경우 복잡도가 급격히 상승할 수 있습니다.

<Play 스토어 배포 및 유지보수>

안드로이드 배포 프로세스 (Gradle 기반)

모든 안드로이드 앱 빌드(Flutter, RN, Kotlin 포함)는 내부적으로 Gradle을 사용합니다. 릴리스용 서명 키(Keystore)를 생성하고 .aab (Android App Bundle) 파일을 만들어 Play Console에 업로드하는 과정은 공통적입니다.

기술별 배포 특징

  • Kotlin & Flutter: Android Studio 또는 CLI(flutter build appbundle)를 통해 빌드합니다. 공식 문서에 서명 설정 및 배포 가이드가 단계별로 잘 설명되어 있습니다.

  • Expo (EAS): EAS Build & Submit 서비스를 통해 클라우드에서 빌드부터 스토어 제출까지 원클릭으로 자동화할 수 있습니다. 로컬 장비의 성능이나 환경 설정에 구애받지 않는 것이 큰 장점입니다.

  • OTA (Over-the-Air) 업데이트: Expo와 React Native(CodePush 등 사용 시)는 스토어 심사 없이 자바스크립트 번들만 교체하여 앱을 업데이트할 수 있어, 긴급 버그 수정에 매우 유리합니다.

<상황별 추천 기술 스택>

🚀 "최대한 빨리 간단한 앱을 만들고 싶어요"

추천: React Native + Expo

초기 설정 시간 제로, 쉬운 문법, Expo Go를 통한 즉시 테스트. 1~2달 내 MVP 출시에 최적입니다.

🎨 "화려한 UI와 애니메이션이 핵심이에요"

추천: Flutter

디자이너의 의도대로 픽셀 퍼펙트한 UI 구현 가능. 플랫폼 간 완벽히 동일한 디자인을 보장합니다.

⚡ "성능이 최우선이고, 안드로이드 기능이 중요해요"

추천: Kotlin (Native)

3D 게임, 동영상 편집, 최신 OS API 즉시 활용 필요 시. 하드웨어 최적화에 유리합니다.

🌐 "웹 개발 경험이 있어요"

추천: React Native

React 지식 공유, 코드 재사용, 웹 개발자가 빠르게 적응 가능합니다.

<기술 스택 비교표>

구분

Kotlin (Native)

Flutter

React Native

React Native + Expo

언어

Kotlin (JVM)

Dart

JavaScript / TS

JavaScript / TS

초보자 난이도

중간
(안드로이드 지식 필요)

보통
(Dart 학습 필요)

보통
(웹 경험 시 쉬움)

쉬움
(설정 자동화)

개발 생산성

★★★☆

★★★★★

★★★★☆

★★★★★★ (최상)

앱 성능

★★★★★ (최상)

★★★★☆

★★★★☆

★★★☆☆

주요 특징

최고 성능
작은 용량

Hot Reload
일관된 UI

Fast Refresh
거대한 생태계

OTA 업데이트
EAS 클라우드 빌드

개인 프로젝트나 프로토타이핑 단계에서는 생산성이 압도적인 Expo나 Flutter가 훌륭한 선택입니다. 반면, 팀 단위의 장기 프로젝트이거나 플랫폼 특화 기능이 중요하다면 Kotlin 네이티브 개발이나 Bare React Native가 더 나은 선택이 될 수 있습니다.

특히 처음 앱을 배포하는 개발자에게 Expo의 EAS 시스템은 복잡한 안드로이드 빌드 환경(Gradle, Keystore 등)의 장벽을 낮추어주어 성취감을 빠르게 얻을 수 있게 해줍니다. 자신의 배경 지식(웹 vs 네이티브)과 프로젝트의 목표(성능 vs 속도)를 고려하여 가장 적합한 도구를 선택하시기 바랍니다.

4
지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 오후,
읽고 바로 써먹을 AI 소식만