React-NAtive는 크로스 플랫폼으로 페이스북, 에어비앤비, 월마트, 바이두 등이 사용하는 기술 스택이다.
네이티브 코드가 아닌 언어로 코딩하여, ios/android가 이해할 수 있는 코드로 변환한 뒤 앱의 퍼포먼스를 낼 수 있게 한다.
React-native 가 대표적이며, React-native는 react, javascript, typescript를 통하여 코드를 작성하고 이를 ios/ Android 앱을 동시에 개발/호환할 수 있게 해준다.
React-Native 장점
- 2개의 플랫폼에서 확인할 수 있어, 시간 절약
- 유지 보수와 관리의 비용이 줄어든다.
- React 개발자가 바로 리액트 네이티브 앱을 금방 만듬
- 디버깅과 에러 리포팅 기능을 제공한다. 이런 점은 개발자들이 개발을 하는데 있어 더욱 편하고 빠르게 개발할 수 있도록 해준다.
- React의 강점인 component의 재사용성, 코드의 작성시간을 줄여준다.
React-Native 단점
- 네이티브가 낼 수 있는 강력한 퍼포먼스가 줄어든다.
- android studio의 강력한 장점인 기기 반응형 및 호환성을 따라하기 힘들다.
- 높은 사양의 그래픽과 속도의 네이티브를 따라가기 힘들다. 카메라를 이용한 화면 인식, 센서 진동 감지 등의 기능을 가진 앱은 네이티브가 훨씬 구현하기 좋다.
- react와 플랫폼 사이의 디버깅 에러가 자주 발생한다.
- 새로운 안드로이드 버전에 대해 react-native가 지원하지 않으면 사용할 수 없는 한계가 있음
웹 앱
모바일 화면에 맞게 개발된 웹 페이지, 홈페이지를 모바일 화면에 맞춘 반응형 앱이라보면 된다.
단점
- 휴대폰의 기능을 사용할 수 없다. ⇒ 가장 치명적
- 스토어를 통해 설치하는 것이 아닌 그냥 웹 페이지이다.