React native란 무엇인가?
React Native는 Facebook에서 개발하고 관리하는 오픈 소스 모바일 애플리케이션 프레임워크입니다. 이 프레임워크는 웹 개발에 사용되는 JavaScript와 React를 기반으로 하고 있으며, iOS와 Android 모두에서 사용할 수 있는 앱을 만들 수 있습니다.
React native의 장점/특징
React Native는 한 번의 개발로 iOS와 Android 모두에 대응할 수 있는 앱을 만들 수 있습니다. 이는 개발 시간을 줄이고, 유지 보수를 간편하게 합니다.
React Native는 JavaScript를 사용하기 때문에 React를 사용하던 개발자들이라면 진입장벽이 낮습니다.
React native vs Flutter
React Native
React Native는 기존의 React 웹 개발 경험을 바탕으로 배우기 쉽고, 빠르게 개발할 수 있다는 장점이 있습니다. 또한, React Native는 이미 많은 개발자가 사용하고 있기 때문에, 다양한 리소스와 지원을 받을 수 있습니다.
Flutter
Flutter는 Google에서 개발한 오픈 소스 프레임워크로, Dart 언어를 사용하여 iOS 및 Android 애플리케이션을 개발할 수 있습니다. Flutter는 성능이 뛰어나고, 반응성이 좋으며, 다양한 플랫폼에 일관된 사용자 경험을 제공할 수 있다는 장점이 있습니다. 또한, Flutter는 아직 개발 초기 단계이지만, 빠르게 성장하고 있다는 것을 알 수 있습니다.
실제로 채용공고를 보더라도 23년 상반기에는 React Native를 사용하는 곳이 많았지만 하반기로 올 수록 Flutter를 사용하는 기업이 늘어난다는 것을 확인할 수 있었습니다.
차이점
React Native와 Flutter의 주요 차이점은 다음과 같습니다.
언어 | JavaScript, React | Dart |
빌드 방식 | JavaScript 코드를 네이티브 코드로 변환 | Dart 코드를 네이티브 코드로 변환 |
성능 | 뛰어나지 않음 | 뛰어남 |
반응성 | 뛰어나지 않음 | 뛰어남 |
플랫폼 호환성 | iOS, Android | iOS, Android |
개발 난이도 | 낮음 | 중간 |
커뮤니티 | 활발함 | 활발함 |
장단점
React Native와 Flutter의 장단점은 다음과 같습니다.
장점 | 배우기 쉽고, 빠르게 개발할 수 있음, 다양한 리소스와 지원을 받을 수 있음 | 성능이 뛰어나고, 반응성이 좋으며, 다양한 플랫폼에 일관된 사용자 경험을 제공할 수 있음 |
단점 | 성능이 뛰어나지 않고, 반응성이 뛰어나지 않음 | 개발 난이도가 높음, 커뮤니티가 아직은 크지 않음 |
React native 생성하기
React Native를 생성할 때는 Expo Go와 React Native CLI 두 가지 방법이 있습니다.
Expo Go
Expo는 React Native를 기반으로 한 오픈 소스 프레임워크 및 개발 환경입니다. Expo를 사용하면 React Native를 더 쉽게 시작하고 관리할 수 있으며, 앱 개발을 더 빠르게 진행할 수 있습니다.
Expo의 주요 장점은 다음과 같습니다.
- 빠른 시작: Expo는 기본 설정이 다 구성되어 있으며 native 파일을 숨겨놓고 자동으로 관리를 해줍니다. 또한 개발을 쉽게 해주는 많은 편리하고 유용한 특성을 가지고 있습니다.
- 간편한 개발: Expo는 React Native의 기본적인 기능을 제공하며, 추가적인 설정이나 작업이 필요하지 않습니다. 따라서 React Native의 기본을 배우는 중간 또는 초보 개발자에게 유용합니다.
- 빠른 배포: Expo는 웹 브라우저를 통해 앱을 실행할 수 있으며, iOS 및 Android에 앱을 쉽게 배포할 수 있습니다.
Expo의 주요 단점은 다음과 같습니다.
- 자유도가 낮음: Expo는 기본적인 기능만 제공하며, 더 많은 기능을 추가하기 위해서는 Expo SDK를 사용해야 합니다. 따라서 복잡한 기능이나 더 높은 사용자 지정을 필요로 하는 프로젝트에는 적합하지 않을 수 있습니다.
- 앱 크기가 크다: Expo는 모든 Expo SDK 솔루션으로 빌드되어 앱의 크기가 크다는 단점이 있습니다.
React Native CLI
CLI는 React Native의 기본 빌드 도구입니다. CLI를 사용하면 React Native 앱을 직접 생성하고 관리할 수 있습니다.
CLI의 주요 장점은 다음과 같습니다.
- 자유도가 높음: CLI는 Expo와 달리 기본적인 기능만 제공하지 않습니다. 따라서 개발자가 원하는 모든 기능을 추가할 수 있습니다.
- 앱 크기가 작다: CLI는 Expo와 달리 앱의 크기가 작다는 장점이 있습니다.
CLI의 주요 단점은 다음과 같습니다.
- 배우기 어렵다: CLI는 Expo와 달리 기본 설정이 되어 있지 않습니다. 따라서 React Native의 기본을 이해하고 있어야 합니다.
- 개발 시간이 오래 걸린다: Expo와 달리 CLI는 기본적인 기능을 제공하지 않기 때문에, 개발자가 직접 추가해야 합니다. 따라서 개발 시간이 오래 걸릴 수 있습니다.
'Coding > React & React-native' 카테고리의 다른 글
[React]React 19? (0) | 2024.02.29 |
---|---|
[RN]React Native CLI로 시작하기 - macOS(Android Studio) (0) | 2023.12.28 |
[React] React Hook Form과 yup을 사용한 유효성 검사 (0) | 2022.11.21 |
[React] Vite를 사용해보자 (0) | 2022.10.25 |
[React] Portals (0) | 2022.07.16 |