pile·
모바일·엘리시아엘리시아·

Expo와 함께 편안한 모바일 개발하세요!

엘리시아가 앱 개발을 시작할 때 어떤 개발 환경을 골랐는지 정리한 글이다. 네이티브·모바일 웹·하이브리드 세 종류를 장단점으로 비교한 뒤 React Native 를 고른 이유를 설명하고, 마지막에 React Native CLI 와 Expo 중 Expo 를 택한 근거로 이어진다.

핵심 포인트
  • 하이브리드 앱은 비용과 시간이 절약되지만 결국 앱 형태의 웹 뷰에 불과하다는 단점이 있어, 소수 인원으로 빠르게 대응해야 하는 팀에는 맞지 않았다.
  • React Native 는 웹 개발 기술로 개발하면서도 결과물이 네이티브 앱이 된다. 인스타그램·페이스북 애드 매니저·블룸버그·에어비앤비·우버이츠·디스코드가 이 방식이다.
  • 핵심은 Native Bridge 다. 웹뷰가 아니라 브릿지를 써서 안드로이드·iOS 각각의 플랫폼에 맞게 렌더링한다.
  • 작성한 코드는 View 와 JavaScript Code 로 나뉜다. View 는 네이티브 View 로 컴파일되고(`<View>` 가 iOS 의 UIView, 안드로이드의 android.view 로), JS 코드는 JavaScript 코어와 브릿지를 통해 네이티브 모듈·API 와 연동된다.
  • 프로젝트 생성 방법은 React Native CLI 와 Expo 두 가지이며, 엘리시아는 Expo 를 쓴다.
상세 정리
  • 네이티브 앱: 안드로이드는 SDK 로 Java·Kotlin, iOS 는 Swift·Objective-C 로 만든다. OS 특화 기능 접근이 쉽고 속도와 안정성이 좋지만, 두 버전을 각각 개발해야 해 비용과 시간이 크다.
  • 모바일 웹 앱: 브라우저에서 실행돼 설치가 필요 없고 모든 기기에서 접근 가능하지만, 카메라·푸시 같은 플랫폼 API 를 쓸 수 없고 웹 브라우저 API 만 쓸 수 있다.
  • 하이브리드 앱: 웹 기술로 구현하고 패키징만 OS 별로 한다. 네이버·다음 같은 포털 앱이 대표적이며, 개발 비용은 아끼지만 UI 구성 요소가 네이티브보다 부족하다.
  • React Native 의 장점 넷: iOS·안드로이드 동시 개발로 높은 생산성, React 개발자에게 낮은 진입 장벽, 웹 확장에 유리, 최신 프레임워크라 버전 업데이트와 이슈 대응이 빠름.
  • 단점 셋도 솔직히 적는다. 한국어 자료가 부족하고, 개발 버전이 빠르게 올라가 외부 라이브러리 의존성 문제가 종종 생기며, 복잡한 UI 구현이 어렵다.
  • 특히 의존성 문제는 개발 중 애를 먹을 수 있다며, 언제 deprecated 될지 모르니 오래된 외부 라이브러리 사용을 지양하라고 권한다.
  • React Native CLI: 프로젝트 구성을 위한 기본 설정만 있어 순수 RN 으로 개발하게 된다. 모든 코드를 직접 쓰고 필요하면 Java·Kotlin·Objective-C·Swift 도 추가할 수 있어 자유도가 높지만, 환경 설정과 배포에 시간이 많이 든다.
  • Expo 는 그 배포의 어려움을 해결하는 플랫폼이자 프레임워크로 여러 개발 툴을 제공한다.
  • Expo 구성 셋: 프로젝트 실행·빌드·배포를 담당하는 Expo CLI, 모바일 기기에 설치해 개발 중인 프로젝트를 바로 테스트하는 Expo Go, 카메라·GPS 같은 네이티브 API 를 쓰게 해 주는 Expo SDK.
  • Expo 의 가장 큰 장점으로 간편한 빌드와 배포를 꼽는다.
왜 읽나모바일 앱을 처음 시작하며 네이티브·하이브리드·RN 중 무엇을 고를지 정해야 하는 팀에게, 각 선택지의 대가와 RN 이 브릿지로 무엇을 하는지를 정리해 준다.
엘리시아
엘리시아 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 모바일·당근당근 테크블로그·

    웹뷰 다음의 레일을 깔다: 당근이 Lynx를 선택한 이유

    당근 프론트엔드코어팀이 WebView 기반 화면의 첫 프레임 렌더링 문제를 해결하기 위해 Lynx를 도입한 기록이다. 레퍼런스가 거의 없는 기술을 코드베이스 직접 분석으로 검증한 뒤 프로덕션에 적용했고, 1.9백만 사용자 A/B에서 Android 18%, iOS 37%의 첫 프레임 단축을 달성했다.

    요약 이어보기
    #cross-platform#webview#mobile-performance+2
  2. 모바일·토스 SLASH토스 SLASH·

    토스의 디바이스 팜 만들기

    토스가 각 팀이 각자 운영하던 작은 디바이스 팜을 하나의 중앙 플랫폼 '네뷸라(Nebula)'로 통합한 과정을 다룬다. Appium 대신 자체 드라이버를 개발해 클릭 13.5배, 텍스트 입력 10배의 성능을 달성했고, Android와 iOS 미러링도 직접 내재화해 실기기 원격 조작과 화면 실시간 공유를 동시에 가능하게 만들었다. 현재 100대를 넘어 수백 대를 향해 24시간 가동 중이다.

    요약 이어보기
    #android#ios#appium+2