SW
[React-Native] (1) React Native란 무엇인가? 본문
Learning React Native, 2nd Edition, by Bonnie Eisenman 정리
0. React Native란 무엇인가?
- 리액트 네이티브는 iOS와 안드로이드에서 동작하는 네이티브 모바일 앱을 만드는 자바스크립트 프레임워크이다.
- 리액트 네이티브는 사용자 인터페이스를 만드는 페이스북의 자바스크립트 라이브러리인 리액트에 기반을 두고 있다.
- 브라우저가 아닌 모바일이 타깃.
1. 리액트 네이티브의 이점
- 대상 플랫폼의 표준 렌더링 API를 사용한다.
- 작성한 마크업을 플랫폼에 따라 그에 상응하는 진짜 네이티브 엘리먼트로 전환한다.
- 게다가 리액트는 메인 UI스레드와 분리되어 실행되기에 앱의 역량을 줄이지 않아도 앱은 빠른 성능을 유지할 수 있다.
- props나 state가 변경될 때 리액트 네이티브는 뷰를 다시 렌더링한다.
- 리액트 네이티브와 리액트의 가장 큰 차이점은 HTML과 CSS 마크업이 아니라 대상 플랫폼의 UI라이브러리를 이용해 렌더링한다는 점이다.
- 리액트 네이티브를 이용하여 앱을 만들 때는 자바스크립트로만 작성하기 때문에 변경사항이 반영되었는지 확인하기 위해 앱을 다시 빌드할 필요가 없다.
- 애플과 구글은 자바스크립트 기반의 변경사항에 한해 표준 심사 절차 없이 원격으로 로딩하는 것을 허용하고 있다. 즉, 며칠 혹은 몇 주 걸리는 iOS리뷰를 거치지 않아도 된다는 점에서 매우 편리하다.
- 코드 재사용 및 지식 공유
2. 위험과 단점
- 리액트 네이티브에는 추가적인 레이어가 있기 때문에 디버깅이 간단하지는 않다.
- 대상 플랫폼의 새로운 버전이 공개되었을 때(예를 들어 업데이트된 안드로이드 버전에서 새로운 API를 제공할 때) 리액트 네이티브가 이를 모두 지원하기까지는 시간이 좀 걸린다.
- 다행히 대부분의 경우 사용자가 직접 지원하지 않는 API를 리액트 네이티브에서 사용하도록 구현할 수 있다.
'대학교 > FE' 카테고리의 다른 글
[Redux] Redux 동작원리 (0) | 2020.03.04 |
---|---|
[React-Native] (2) 리액트 네이티브 다루기 (0) | 2020.03.04 |
[React-Native] Redux (0) | 2020.03.02 |
[React Native] Weather App(2) (0) | 2020.02.28 |
[React Native] Weather App(1) (0) | 2020.02.28 |
Comments