모바일 어플리케이션을 만드는 최근 트렌드는 크게 세 가지.
- Native
- 앱 기반 웹뷰 이용
- IOS, 안드로이드 내장 JS 엔진 이용
앱 제작을 위한 언어로 완전히 네이티브하게 만드는 법. IOS 는 Swift
또는 Objective-C
로, 안드로이드는 Java
혹은 Kotlin
을 이용. 개발에는 Xcode
와 Android Studio
를 사용한다.
운영체제에 맞는 네이티브 언어이기 때문에 기기의 코어로 바로 전달되고, 처리 능력이 좋다.
Cordova
혹은 PhoneGap
을 이용해 앱 내에 HTML 과 CSS, JS 를 넣는 것. 실제 앱 보다는 앱 안에서 작동하는 웹 사이트에 가깝다. 이미 훌륭한 반응형 웹사이트를 가지고 있는 회사나(웹사이트를 어플 에 넣으면 되므로) 네이티브 어플 개발에 예산이 부족한 회사들이 보통 이용한다.
IOS, 안드로이드 모두 자바스크립트 엔진을 내장한다. 리액트 네이티브는 이 엔진을 이용해 어플을 실행.
따라서 리액트 네이티브 소스가 바로 코어로 가지 않고 엔진을 거쳐(브릿지) 들어가기 때문에 3D 게임과 같이 거대한 어플은 성능 저하가 발생할 수 있다. 하지만 컨텐츠만 다루는 어플이라면 훌륭한 선택지이다.
자바의 JVM 같은 느낌으로 이해했다.