항목 |
하이브리드 |
크로스플랫폼 |
정의 |
|
|
차이 |
웹뷰(브라우저) 위에서 자바스크립트로 동작 |
네이티브 코드로 변환되어 동작 |
▣ 리액트
웹 사이트 개발을 할 때 가장 많이 쓰이는 라이브러리
Angular.js 같은 프레임워크가 아니 라이브러리이기 때문에 필요에 따라 붙이고 땔 수 있습니다.
이 말은 웹을 만드는데 꼭 필요한 도구를 제공해주지 않는다는 것입니다.
그 대신 React의 규칙(컴포넌트, JSX)을 제공해 줍니다. 이 규칙들을 통해 개발자는 React 이전의 대세인 Jquery보다 더 효율적이고 가볍게 웹을 제작할 수 있게 되었습니다.
▣ 리액트 네이티브
React의 규칙을 이용 -> 모바일 어플리케이션 개발
페이스북 오픈소스 프레임워크
앱 개발은 Android(Java) vs iOS(Swift, Objective C) 사용
안드로이드, iOS 개발을 따로 하는 경우 -> Native 개발
빠르게 앱을 만들어 시장 반응을 보려 하는 스타트업과 같은 곳에서는 두가지를 동시에 개발하기에는 인력과 시간 소모가 크다.
이에 안드로이드, iOS 어플리케이션을 동시에 개발할 수 있는 하이브리드 앱이 나오게 되었습니다(대표적인 예로 Ionic). 그러나 하이브리드 앱의 경우 웹뷰를 네이티브에 씌우는 형태이기 때문에 속도가 느리고 큰 규모의 프로젝트에 적합하지 않습니다.
자바스크립트 주요 개념(ES6 기준)과 리액트 사용법만 알고 있다면, 안드로이드 iOS 양쪽 모두 앱 개발을 진행할 수 있다.
리액트 네이티브는 "모바일 웹 앱", "HTML 5앱", "하이브리드 앱"이 아닌 네이티브 앱을 만드는 것입니다.
네이티브 앱 제작이 가능한 이유는 리액트 네이티브에서 "Bridge"라는 개념이 존재하기 때문입니다.
Bridge는 iOS, Android 네이티브 코드에 접근할 수 있는 일종의 다리 역할을 수행하여, 네이티브 앱을 만들 수 있는 것입니다.
Javasript로 코딩한 React의 컴포넌트는 React Native 플랫폼을 거쳐 iOS, 안드로이드 Native 코드로 각각 변환됩니다.
이 말은 우리는 각각의 OS에 맞춰 앱을 만들지 않아도 되고, Javasript 하나만으로 앱 제작이 가능하다는 것입니다.
Windows에서 react-native로 앱을 개발하는 방법은
Expo CLI vs React Native CLI
Expo CLI는
react-native로 앱을 개발할 때 자주 사용되는 네이티브 기능(위치 정보, 카메라 등)을 패키지로 묶어서 제공한다.
처음 시작은 Expo로 시작하면 편할 수 있지만, 사용하지 않은 네이티브 모듈로 인해 앱 파일 사이즈가 커지는 문제와 Expo에서 제공하지 않은 네이티브 모듈을 추가할 때, 불편함 등이 있다.
react-native로 앱을 개발하기 위해서는
Node.js, Python, Android Studio등을 설치해야 합니다.
▣ Node.js
- 정의: 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다.
- 언어: 자바스크립트
- 자바스크립트로 서버단을 관리하다.
- 무료 오픈 소스 서버 환경
- 다양한 플랫폼(Windows, Linux, Unix, Mac OS X 등)에서 실행
- 서버에서 JavaScript를 사용
▣ Chocolatey 설치
- 윈도우에서 필요한 패키지를 설치하고 관리하는 윈도우용 패키지 관리자
- 사이트: https://chocolatey.org/
* PowerShell 이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다.
PS C:\> Set-ExecutionPolicy RemoteSigned
잘 바뀌었네요. 바뀐 권한을 보면 RemoteSigned로 변경되어있습니다.
PS C:\> Get-ExecutionPolicy
RemoteSigned
'App' 카테고리의 다른 글
[앱] 앱 개발 (0) | 2020.06.05 |
---|---|
[앱] React-Native Hello World (0) | 2020.05.19 |