Build Your Own Pocket Clone with React Native (Expo, SQLite, Reanimated, API Routes, IAP)
- React Native, Expo, SQLite, Reanimated, API Routes, IAP를 활용하여 Pocket과 유사한 완전한 기능을 갖춘 네이티브 앱을 구축하는 것이 목표입니다. 📱
- Expo SDK 54, Expo Router, Reanimated 등 최신 React Native 및 Expo 도구와 버전을 사용하여 실용적인 기술을 습득합니다. 🛠️
- Clerk (인증), RevenueCat (인앱 구매), Sentry (모니터링 및 AI PR 초안 작성)와 같은 스폰서 도구들을 실제 앱에 통합하여 사용법을 배웁니다. 🤝
- Clerk, Sentry, Share Intent, SQLite 등 많은 네이티브 모듈은 Expo Go에서 작동하지 않으므로,
bunx expo run iOS 명령을 통한 pre-build가 필수적입니다. 🚧
expo-dev-client 패키지를 설치하여 pre-build된 앱에서도 Expo Go와 유사한 개발자 메뉴를 사용할 수 있습니다. ⚙️
expo-router/unstable/native-tabs를 사용하여 iOS의 SF Symbols 및 Android의 drawable을 지원하는 네이티브 탭 바를 구현하며, 부드러운 전환과 미래 지향적인 UI (예: iOS 26의 유리 UI)를 제공합니다. ✨
- 각 탭 (예: Home, Saves, Settings)은 별도의 폴더와
_layout.tsx 파일을 사용하여 고유한 Stack Navigator와 헤더 설정을 가질 수 있도록 구조화합니다. 📂
- iOS 스타일의
headerLargeTitle을 적용하여 스크롤 시 타이틀이 축소되는 효과를 구현하며, 이를 위해 ScrollView와 contentInsetAdjustmentBehavior="automatic"을 사용합니다. 📏
react-native-keyboard-controller를 사용하여 키보드가 입력 필드를 가리지 않도록 관리하는 최신 및 권장 솔루션을 적용합니다. ⌨️
- GitHub 저장소에서 코드 스니펫이나 에셋을 가져와 개발 속도를 높일 수 있으며,
bun run reset project 명령으로 초기 보일러플레이트를 제거하고 깨끗하게 시작합니다. 🚀