📍 EXPO
React Native 개발을 보다 쉽게 만들어주는 React Native 프레임워크
프로젝트를 설정하고 구성하는 것과 관련한 복잡성을 추상화함으로써 단순화된 개발 경험을 제공
++ React Native CLI와 차이점
📍 Managed Workflow vs Bare Workflow
Managed Workflow
Expo가 전적으로 관리하는 개발 환경에서의 작업 방식
- 개발과 빌드가 훨씬 더 간단해지며, Expo의 많은 기능을 활용할 수 있다.
- Expo Go 앱을 사용하여 실시간 테스트할 수 있다.
- Expo 서버를 사용하여 iOS 및 Android 앱을 빌드할 수 있다.
- Expo SDK를 통해 제공되는 기능만 사용할 수 있다.
- 네이티브 코드에 접근할 수 없으므로 네이티브 모듈을 직접 추가하거나 수정할 수 없다.
Bare Workflow
Expo 초기 설정을 기반으로 하되, 그 이후에는 Expo 환경의 제약 없이 다양한 모바일 또는 React Native 프레임워크의 기능 및 라이브러리를 자유롭게 활용할 수 있는 개발 방식
- 네이티브 코드에 직접 접근할 수 있어, 원하는 네이티브 모듈이나 기능을 추가하거나 수정할 수 있다.
- 초기 설정 후에는 개발자가 앱의 모든 부분을 관리해야 한다.
- 네이티브 코드에 접근하는 경우, React Native CLI와 네이티브 개발 도구 (예: Xcode, Android Studio)를 사용하여 앱을 개발 및 테스트한다.
- 각 플랫폼의 네이티브 빌드 도구를 사용하여 앱을 빌드하고 배포해야 한다.
++ Bare Workflow와 React Native CLI 차이점
📍 Expo Application Services (EAS)
Expo를 사용하여 React Native 앱을 더 빠르고 효율적으로 빌드하고 배포할 수 있도록 지원
기능
- EAS Build
: 클라우드 기반의 빌드 서비스로, 로컬 환경에서 복잡한 네이티브 빌드 프로세스를 수행할 필요 없이 클라우드에서 iOS 및 Android 앱을 빌드할 수 있다. - EAS Submit
: 앱 스토어 제출 프로세스를 자동화하여 앱을 Apple App Store 및 Google Play Store에 쉽게 제출할 수 있게 한다. - EAS Update
: OTA(Over-The-Air) 업데이트를 제공하여 앱의 자바스크립트 코드 및 에셋을 실시간으로 업데이트 할 수 있다. 이를 통해 사용자에게 앱 스토어를 거치지 않고 즉시 업데이트를 제공할 수 있다.
++ 커맨드
📍 Expo Dev client
Expo SDK 및 다양한 Expo 서비스를 사용하여 개발하는 앱을 테스트할 수 있게 하는 도구
- 네이티브 모듈 지원
: 일반적인 Expo 앱에서는 지원되지 않는 기능인 네이티브 모듈을 추가할 수 있다. - 실시간 반영
: Hot Reloading 및 Fast Refresh와 함께 작동하여 개발자가 앱을 빠르게 수정하고 반영할 수 있도록 도와준다 - 맞춤형 빌드
: 자체 네이티브 앱을 빌드하면, 해당 앱에서만 동작하는 React Native JavaScript 코드를 테스트할 수 있다. - EAS와의 통합
: EAS(Build, Submit 등)와 함께 사용되도록 설계되어 있어, 빌드 및 배포 프로세스를 간소화한다.
Expo Development client와 EAS build의 등장으로 인해 네이티브 패키지가 필요한 경우,
expo를 걷어내지 않고 workflow를 유지할 수도 있다
참고
https://medium.com/crossplatformkorea/expo-역사와-현재-현황-09c8fdce0114#f17b
https://medium.com/crossplatformkorea/expo의-새로운-빌드-시스템-eas-build와-expo-dev-client-4d93f63ada18
'Framework > React Native' 카테고리의 다른 글
[RN][Expo] VS Code에서 Expo 디버거 설정 (0) | 2024.03.06 |
---|---|
[RN][트러블슈팅] @react-navigation/xxx/xxx.tsx: Unexpected token (0) | 2024.03.05 |
React Native CLI vs Expo (0) | 2024.02.20 |
[RN][Expo] 배포 (1) | 2023.11.30 |
[RN][Expo] SyncSchedule 개발 도움 Document 정리 (0) | 2023.11.01 |