리액트 네이티브는 페이스북이 개발한 오픈 소스 모바일 애플리케이션 프레임워크이다. 안드로이드, iOS, 웹, UWP용 애플리케이션을 개발하기 위해 사용되며, 개발자들이 네이티브 플랫폼 기능과 더불어 리액트를 사용할 수 있게 한다. 기본 동작은 Javasciprt 를 사용합니다, 이를 통해 모바일의 카메라와 같은 것들을 조작할 수 있습니다.
리액트 및 리액트 네이티브로 코드를 작성하면, jsx 요소는 각 플랫폼(브라우저,안드로이드,ios)의 네이티브 요소로 컴파일 됩니다. 즉 리액트네이티브는 재사용 가능한 컴포넌트를 매핑하고 컴파일합니다
jsx 외부의 js코드들은 어떻게 처리할까요. 이는 컴파일되지 않고 js코드 그대로 실행되면서 안드로이드와 ios 플랫폼과 상호작용 하며 동작합니다.
두 가지 모두 가능한 방법이지만, Expo CLI의 경우 상대적으로 기코드 작성이 쉽고 프로젝트 생성이 수월합니다. 그렇기 때문에 초반에는 Expo CLI 방식을 사용하고 추후에는 이를 React Native로 변환하는 방법으로 공부를 해보겠습니다.
터미널에 "npx create-expo-app AwesomeProject" 를 작성하면 AwesomeProject 라는 작업폴더로 실행이 됩니다.