모바일 앱은 순수 네이티브 기반의 네이티브 앱과 웹기반의 하이브리드 앱으로 나누어 볼 수 있으며, 초창기에는 네이티브 기반이 주를 이루었지만 몇년전부터는 하이브리드 앱과 웹앱 방식이 주로 사용되고 있습니다.

하이브리드 앱과 웹앱의 차이점은 컨텐츠(html, js, image등) 접속차이이며 웹앱은 컨텐츠가 원격 서버에 있으며 url로 접속하는 방식입니다. 공통점은 하이브리드 방식이나 웹앱 방식인 경우에는 스마트폰의 하드웨어 기능을 사용하기 위하여 네이티브와 Javascript로 통신을 한다는 것입니다.

리액트-네이티브 환경에서는 네이티브(Android, iOS)와의 인터페이스를 위하여 브릿지(Bridge) 역활을 하는 네이티브 모듈(NativeModules)을 사용하며, 네이티브에서는 호출된 함수를 수행한 후 콜백으로 결과를 전송합니다.

네이티브 함수를 호출하는 예제


리액트-네이티브와 네이티브간 통신역활을 담당하는 브리지는 스마트폰 운영체제에 따라서 java(kotlin) 또는 objective-c(swift)로 개발할 수 있습니다.

네이티브 연동 가이드 (Android)

네이티브 연동 가이드 (iOS)


리액트-네이티브로 개발된 대표적인 모바일 앱

Facebook
Tesla
Instagram
Airbnb