관리 메뉴

SW

[React Native] React Native & Expo 본문

대학교/FE

[React Native] React Native & Expo

SWKo 2020. 2. 27. 01:26

0. React Native

  • React Native는 네이티브 웹 어플리케이션을 빌드하게 도와주는 UI 라이브러리이다. 줄여서 RN이라고 부르겠다.
  • RN은 html, css 어플리케이션을 생성하지 않는다.
  • 마지막 컴파일링 할 때, 각각 iOS(objective-C) / android(java) 네이티브 코드로 실행이 된다.
  • RN이 구동되는 방법은 JSX, 자바스크립트로 작성을 하고, 그 뒤에서 자바스크립트가 objective-c 혹은 java로 변환되는 것이다. 
  • 페이스북이 개발한 이 기술에 의하여 js - objective-c , js - java 의 다리(bridge)가 연결되는 것이다.
  • react js 코드와 비슷하다.
  • 차이점은 다른 패키지를 쓰는데, 그 패키지 이름이 react native이다.
  • 웹에서 div, span이 있는 것처럼 RN에는 view, text와 같은 페이스북이 만든 다른 요소가 존재하고 이 요소들은 다 네이티브 코드로 변환된다.
  • RN의 장점은 첫째 JS를 활용할 수 있다는 점, 두번째는 커뮤니티가 크다는 것, 셋째 많은 회사가 쓰고 있다는 것이다.
  • 인스타, 에어비앤비, 페이스북이 이미 리액트 네이티브를 쓰고 있다.

1. Expo

  • expo.io 는 리액트 네이티브 앱을 쉽게 만들 수 있게 해주는 툴이다.
  • Xcode나 Android Studio 없이 만들 수 있게 해준다.
  • 시뮬레이터들을 관리한다.
  • expo가 없었을 때는 RN으로 xcode, android studio작업을 별도로 해야 했었다.
  • expo를 통해 iOS/android 전용 네이티브 앱을 만들 수 있다.
  • 컴퓨터에서 변경사항이 있으면, 모바일에서도 자동으로 새로고침이 되서 적용된다.
  • 앱을 배포한 후에, code push 라는 것을 통해 업데이트를 앱이 알아서 한다.
  • 업데이트하면 전체 앱을 앱스토어에 올리는게 아니라 expo client 에게 push 를 한다. 업데이트를 할 때마다, 앱을 업데이트 하는 것이 아니라, 서버에 있는 코드를 업데이트 하는 것이다.
  • 그리고 앱이 열릴때마다 서버에서 새로운 버전의 코드를 다운받는 것이다. 덕분에 모든 승인과정을 스킵할 수 있다.
  • expo를 CLI 방식으로 설치할 수 있다.
  • 나의 핸드폰에서 expo client 설치 후 같은 네트워크에 연결되어 있으면 핸드폰으로 보는 것도 가능하다.
  • 다음은 expo화면이다.

  • iOS simulator로 실행시킨 화면이다.

  • 다음과 같이 기기별로 log를 확인할 수 있는 장점이 있다.

'대학교 > FE' 카테고리의 다른 글

[React Native] Weather App(1)  (0) 2020.02.28
[React Native] Flexbox  (0) 2020.02.28
[React] React Router  (0) 2020.02.25
[React & Node.js] Form, Event Handling  (0) 2020.02.24
[React & Node.js] AWS(RDS) , DB - Express  (0) 2020.02.24
Comments