리액트 네이티브를 혼자 공부하면서 기록을 남기는 용도로 작성할거라 반말로 적을 예정입니다.
버전에 따라 변경된 내용이 많을 수 있으니, 같이 따라하시다가 에러가 난다면 꼭 공식문서를 확인해보세요!
Web vs. App
- 웹은 인터넷만 있다면 모든 디바이스에서 사용할 수 있음
- 앱은 모바일의 OS에 따라 개별적으로 개발해야 함
- 안드로이드:
Java
, Kotlin
- iOS:
Swift
, Objective-C
웹 기술로 앱을 만들 수 있는 방법
- 대표적으로 두 가지 선택지가 있음
- PWA (Progressive Web Apps)
- React Native / Flutter
1. PWA
- 웹 기술을 사용하여 만든 앱
- 웹 브라우저를 통해 액세스하고 사용할 수 있음
- 네이티브 앱과 유사한 기능을 제공 → 하지만 iOS환경에서 제한점이 있음 (알림 못보냄 등)
- 플랫폼에 상관없이 인터넷 연결만 되면 모든 장치에서 사용 가능
2. ReactNative
- JavaScript와 React를 사용해서 네이티브 모바일 앱을 개발하는 프레임 워크
- 하나의 코드베이스로 iOS와 Android 모두에서 실행되는 앱을 만들 수 있음
- 네이티브 앱과 유사한 성능
3. Flutter
- 구글에서 개발한 크로스 플랫폼 모바일 앱 개발 프레임 워크
- Dart 언어를 사용하여 iOS와 Android 모두에서 실행되는 앱을 만들 수 있음
- 빠른 개발 속도와 높은 성능 제공
- 자체 그래픽 엔진을 가지고 있음 → 디자인 유연성이 높음
React Native를 선택!
- JavaScript와 React를 주로 사용함
- 내가 친숙한 환경인 React Native로 선택