React Native는 React와 앱 플랫폼의 기본 기능을 사용하여
Android 및 iOS 애플리케이션 빌드하기 위한 오픈 소스 프레임워크
장점
1. 네이티브 렌더링의 효율성과 WebView의 한계
WebView를 사용하는 다른 크로스 플랫폼(Cordova, Ionic 등)과는 다르게 실제 호스트 플랫폼의 표준 렌더링 API를 사용하여 렌더링
WebView는 웹 브라우저 컴포넌트를 앱에 임베딩하는 것으로 성능 문제가 생기거나 Native에서 사용하는 기본 UI 요소나 애니메이션 등을 Javascript, HTML 및 CSS 조합으로 모방하기엔 한계 존재
React Native는 마크업 요소를 실제 네이티브 요소로 변환해 사용
2. 웹 개발자로서의 이점과 네이티브 UI 활용
React에서 사용하는 것과 대부분이 비슷하기에 React를 사용하는 웹 개발자라면 손쉽게 앱 개발 가능 (state/props 등)
HTML 및 CSS 마크업을 사용하는 React와 다르게 React Native는 호스트 플랫폼의 UI 라이브러리 활용
3. 크로스 플랫폼
대부분의 비슷한 소스 코드로 iOS와 Android 모두를 위한 앱 개발이 가능하여 많은 시간과 비용 절약 가능
Components
Native Components
Android 개발에서는 Kotlin 또는 Java로 iOS 개발에서는 Swift 또는 Objective-C를 사용하여 Component 작성
React Native를 사용하면 React component 사용하여 Javascript로 이러한 Component 호출 가능
런타임 React Native는 해당 구성 요소에 해당하는 Android 및 iOS 컴퍼넌트를 생성
동일한 보기에서 지원되기에 다른 앱에서도 같은 모양, 느낌 및 성능을 제공
Core Components
Core Components는 React에서 기본으로 제공하는 Native Components
개발 환경 세팅
대표적으로 두가지 방법이 있으며 Expo가 난이도가 쉽기에 먼저 터득하고 그 다음에 React Native CLI 추천
'REACT-NATIVE' 카테고리의 다른 글
리액트 네이티브 05 - Redux 적용 (5) | 2023.11.03 |
---|---|
리액트 네이티브 00 - 번외(Git Bash) (6) | 2023.10.30 |
리액트 네이티브 04 - svg 사용하기 (4) | 2023.10.22 |
리액트 네이티브 03 - Todo App 구조 잡기 (5) | 2023.10.15 |
리액트 네이티브 02 - Expo 세팅 (8) | 2023.10.08 |