React Native 란?
JavaScript 기반의 React를 사용해서 모바일 앱을 제작할 수 있는 오픈소스 프로젝트 (또는 어플리케이션 개발 프레임워크)
단순히 라이브러리라고 하기에는 개발 방법에 대한 구체적인 방법과 지원해주는 API들이 있으니 프레임워크라고 생각 할 수 있다 다만 React Native는 자체적으로 Native App 개발에 대한 컴파일러나 인터프리터가 해석해서 개발자가 작성한 코드가 프레임워크에 의해서 Callee(피호출자)로 동작하는게 아니라 실제 Native API를 Caller로서 동작하기에 API들을 호출하기 위한 집합 즉 라이브러리 성격이 강하다.
위의 구분을 타이트하게 잡을 필요는 없을 것 같다 MFC도 Win32API를 감싼 라이브러리로 해석되지만 개발 프레임워크로도 불린다. 즉 개발규칙의 자유도가 저수준인지 고수준인지에 대한 구분정도에서 프레임워크와 라이브러리를 구분하면 될 것이다.
관련 링크 : http://web-front-end.tistory.com/63 (그나마 구분이 가는 내용)
특징 (https://facebook.github.io/react-native/)
1. React Native는 모바일 웹앱, HTML5앱, 또는 Web View 기반의 하이브리드앱이 아니라 실제 Native 성격의 앱 개발이 가능하다
2. JavaScript Code가 변했을 때 다시 빌드를 하지 않아도 재로딩만으로도 변경된 코드를 적용가능하다
3. 필요한 경우 JavaScript Code에서 연결되는 Bridge를 통해 Object C, Swift, JAVA로 작성된 Native Module를 작성하거나 호출할 수 있습니다.
필수설치 모듈 (Windows에서 Android App 개발)
1. Chocholatey (https://chocolatey.org/) -> 이걸안쓰면 Yarn 이라는 Package Manager도 있다
- Package Manager로 인터넷 연결이 되어 있으면 쉽게 Node.js, Python2 를 설치 가능
choco install -y nodejs.install python2 jdk8
Node.js (오프라인 설치 : https://nodejs.org/en/download/)
Python2 (오프라인 설치 : https://www.python.org/downloads/windows/)
2. NPM 설치 (Node.js command prompt)
npm install -g react-native-cli
3. JDK8 설치
Java Develop Kit (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
최신버전인 10버전으로 설치를 진행해봤으나 React Native 빌드시 Java 버전 오류 발생으로 8로 다운그래이드
JAVA_HOME 환경변수로 등록
3. Android Studio
Android Studio (https://developer.android.com/studio/)
Android SDK
Android SDK Platform
Performance (Intel ® HAXM)
Android Virtual Device
4. Android SDK Manager
Android 6.0 (Marshmallow)
Google APIs
Android SDK Platform 23
Intel x86 Atom_64 System Image
Google APIs Intel x86 Atom_64 System Image
Android SDK Build-Tools (Marshmallow의 API 레벨이 23이다 안드로이드는 플랫폼(OS)과 API 레벨이 같이 올라간다)
23.0.1
ANDROID_HOME 환경변수로 등록
5. 애뮬레이터 설치
Android Studio 에서 Android Virtual Device Manager -> Create Virtual Device
주의사항 : HAXM 이 설치 되어야 하며 그 기술을 사용하려면 Intel Virtualization Technology 기능이 켜져 있어야 함
해당 기능이 꺼저있으면 경고문구가 나오고 Mainboard의 BIOS 메뉴에서 켜줘야 함
6. 편집기 설치
Visual Studio Code 설치 (https://code.visualstudio.com/docs?start=true)
확장기능 설치해서 툴 기능 강화
디버깅이 지원된다. (필수)
(https://www.vobour.com/vscode-%EC%B6%94%EC%B2%9C-%EC%9D%B5%EC%8A%A4%ED%85%90%EC%85%98%EA%B3%BC-%EC%84%B8%ED%8C%85-vscode-recommended-e)
7. Expo 설치 (https://expo.io/tools#xde)
Expo는 필수설치는 아니지만 쉽게 빌드해서 스마트폰까지 배포가 가능하다
Expo를 사용하면 장점
- 지원해주는 Library 설치
- 쉽게 빌드
- 쉽게 배포?? 아닐 수 도 있음
(이것은 수정하고자 한다. 따로 네이티브 모듈을 붙여서 배포하려면 expo에서 detach를 해야 한다고 한다. 이런 제한된 기능 때문에 데모앱을 만들기에 좋고 실제 서비스 앱용으로는 적합하지 않을 수 있다. )
- Expo에서 개발자 옵션에서 핫 리로딩을 키려면 Ctrl + M 을 누른다
8. Git을 통한 소스버전 관리 설치
Git (https://git-scm.com/downloads)
VS Code에서 GitHub 연동으로 버전관리 설정
9. 단위 테스트를 위한 Jest 연동
JavaScript Unit Test (http://jestjs.io/)
10. Create Project (Example)
프로젝트를 설치할 경로를 정하고 (ex: C:\dev 생성)
react-native init AwesomeProject
11. Run react-native App
애뮬레이터가 켜저있는 상태에서 command 명령 실행
cd AwesomeProject
react-native start (이것은 npm start로 해도 동일하고 하지 않아도 아래 run-android를 하면 동일하게 시작된다.)
새로 cmd 창을 뛰어서 아래 명령어로 빌드 한다
react-native run-android (공식 문서에는 이 명령어만 되어 있음 실행시 node.js 구동)
Hello world 같은 화면이 구동되면서 기본 셋팅 완료
12. react-native 확인 -> 기본설치 되는 폴더의 설치되어 있는 node module에 가면 있다
C:\WeatherProject\node_modules\react-native
'Developer > Mobile(React Native)' 카테고리의 다른 글
강의 공부 자료 (0) | 2018.07.27 |
---|---|
React Native -Props- (0) | 2018.07.17 |
리액트 네이티브 개발자와 대화2 (1) | 2018.07.17 |
리액트 네이티브 개발자와 대화 (0) | 2018.06.29 |
React Native의 성능관점에서 장점 (0) | 2018.06.28 |