Skip to main content

Introducing Create React Native App

· 4 min read
Adam Perry
Software Engineer at Expo

오늘 우리는 Create React Native App을 발표한다. 이 새로운 도구는 React Native 프로젝트를 시작하는 과정을 크게 단순화한다. 이 도구는 Create React App의 디자인에서 큰 영감을 받았으며, FacebookExpo(이전의 Exponent)의 협력으로 만들어졌다.

많은 개발자들이 특히 Android를 위해 React Native의 네이티브 빌드 의존성을 설치하고 설정하는 데 어려움을 겪는다. Create React Native App을 사용하면 Xcode나 Android Studio를 사용할 필요가 없으며, Linux나 Windows에서도 iOS 기기를 위한 개발이 가능하다. 이는 Expo 앱을 통해 이루어진다. Expo 앱은 순수 JavaScript로 작성된 CRNA 프로젝트를 네이티브 코드를 컴파일하지 않고도 로드하고 실행한다.

새로운 프로젝트를 생성해 보자(yarn이 설치되어 있다면 적절한 yarn 명령어로 대체 가능):

$ npm i -g create-react-native-app
$ create-react-native-app my-project
$ cd my-project
$ npm start

이 명령어는 React Native 패키저를 시작하고 QR 코드를 출력한다. Expo 앱에서 이 QR 코드를 열어 JavaScript를 로드할 수 있다. console.log 호출은 터미널로 전달된다. 모든 표준 React Native API와 Expo SDK를 사용할 수 있다.

네이티브 코드는 어떻게 처리할까?

많은 React Native 프로젝트는 컴파일이 필요한 Java 또는 Objective-C/Swift 의존성을 포함한다. Expo 앱은 카메라, 비디오, 연락처 등의 API를 제공하며, Airbnb의 react-native-maps나 Facebook 인증과 같은 인기 라이브러리도 포함한다. 하지만 Expo가 제공하지 않는 네이티브 코드 의존성이 필요한 경우, 직접 빌드 환경을 구성해야 한다. Create React App과 마찬가지로 CRNA에서도 "이젝트(eject)" 기능을 지원한다.

npm run eject 명령어를 실행하면 react-native init으로 생성한 프로젝트와 유사한 구조를 얻을 수 있다. 이 시점부터는 react-native init으로 시작한 경우와 마찬가지로 Xcode나 Android Studio가 필요하다. react-native link로 라이브러리를 추가할 수 있으며, 네이티브 코드 컴파일 과정을 완전히 제어할 수 있다.

궁금한 점이나 피드백이 있나요?

Create React Native App은 이제 일반 사용에 충분히 안정화되었습니다. 여러분의 사용 경험을 듣고 싶습니다! 트위터를 통해 연락하거나 GitHub 저장소에 이슈를 열어주세요. 풀 리퀘스트도 환영합니다!