[RN] study 1week
React Navtive 스터디 1week
도서: [리액트 네이티브를 다루는 기술 / 김민준 / 길벗]
(1장)
1.1 리액트 네이티브란?
: 자바스크립트와 리액트 라이브러리를 사용해 네이티브 앱을 개발할 수 있게 해주는 기술.
리액트? 웹 애플리케이션의 UI를 편하게 만들기 위해 페이스북에서 개발한 자바스크립트 라이브러리.
==> 이 기술을 사용해 만든 앱은 애플의 iOS 환경, 구글의 안드로이드 환경 모두에서 구동.
==> 리액트 네이티브를 사용해 만든 프로젝트에는 JavaScriptCore라는 자바스크립트 엔진이 탑재되어 있으며 이 자바스크립트 엔진을 통해 우리가 작성하는 모든 자바스크립트 로직을 앱 내에서 실행해주는 것이다. (자바스크립트로 작성한 코드가 네이티브에서 사용하는 코드로 변환되는 것 아님!!)
==> 리액트 네이티브로 앱을 만들 때, 리액트 네이티브에 자체적으로 탑재되지 않은 기능을 사용해야 할 때도 있다. 이 경우 대부분은 써드파티 Library를 설치해 원하는 기능을 구현할 수 있다. 따라서 앱을 개발하는 과정에서 특정 기능을 구현하기 위해 자바, Objective-C 등의 언어를 사용해야 하는 상황이 올 수도 있음을 염두해야 한다.
1.2 작업 환경 준비하기
리액트 네이티브의 가장 큰 장점은 자바스크립트로 코드를 작성에 iOS 기기에서도 구동하고 안드로이드 기기에서도 구동하는 애플리케이션을 개발할 수 있다는 것이다. 하지만 안타깝게도 iOS 앱을 개발하려면 반드시 애플 맥을 사용해야 한다. 다른 운영체제에서는 iOS 앱을 컴파일할 수 없기 때문이다.(macincloud.com) 사용하는 방법도 있긴 하나 권장하지 않음.
1.2.1 Node.js와 npm 설치하기
1.2.3 Java Development Kit
- 안드로이드 앱 개발을 위해 필요한 JDK 설치
- brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
Error: You have not agreed to the Xcode license. Please resolve this by running:
sudo xcodebuild -license accept
~ % sudo xcodebuild -license accept
password:
brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
(시간 좀 걸림)
🍺 adoptopenjdk8 was successfully installed!
~ % javac -version
javac 1.8.0_292
1.2.4 Watchman 설치하기
- Watchman은 페이스북이 만든 파일 모니터링 도구로, 맥OS에서만 지원. 파일을 모니터링하면서 변화가 발생했을 때 특정 작업을 처리하는 용도로 사용.
- brew install watchman
1.2.5 안드로이드 스튜디오 설치하기
Android Virtual Device 선택 안됨. => 안드로이드스튜디오 Electric Eel 버전은 함께 설치되나 봄. unavailable이라고 뜸.
ruby version 업데이트 RN에서 2.7.6 버전 쓰고 있어서 2.7.6으로 설치 => rbenv로 버전 관리. 그러나 ruby —version이 바뀌지 않아서 애먹음.ㅠ. rbenv install 2.7.6 실행의 경우 설치 오래 걸림.
참고: https://codecamper.me/blog/122/
CocoaPods 설치
sudo gem install cocoapods
설치 확인 pod —version
——window
openjdk 11로 설치, 시스템 환경변수 path 지정 %JAVA_HOME% 맨 위로 올리기 등.
javac -version
——mac
vscode 터미널에서 설치하면 ruby 버전 오류로 ios 구동 안된다.
터미널에서 직접 설치했더니 작동!. 근데 yarn은 또 왜 안돼.. 아무튼 ios 성공!