Setup Expo
Install Expo CLI: npm install -g expo-cli. Buat project: npx create-expo-app MyApp --template. Pilih TypeScript template. Jalankan di device dengan Expo Go app atau emulator.
Perbedaan dari React Web
- Tidak ada HTML tags – gunakan View, Text, Image, ScrollView
- Styling dengan StyleSheet API, bukan CSS class
- Navigasi dengan React Navigation, bukan React Router
- Platform-specific APIs (kamera, GPS, notifikasi)
Navigation Setup
Install React Navigation: npm install @react-navigation/native @react-navigation/stack. Buat Stack Navigator untuk layar authentication, Tab Navigator untuk main app. Deep linking memerlukan konfigurasi tambahan.
State Management
Zustand atau Redux Toolkit adalah pilihan populer. Untuk data server, TanStack Query bekerja sempurna di React Native sama seperti di web.
Akses Native Features
Expo SDK menyediakan access ke kamera, GPS, push notifications, secure storage, dan banyak lagi tanpa perlu menulis kode native. Untuk fitur yang belum tersedia, Expo Modules API memungkinkan menulis module native.
Build dan Publish
Gunakan EAS (Expo Application Services) untuk build cloud: eas build --platform all. Submit ke store: eas submit --platform ios. Tidak perlu Mac untuk build iOS dengan EAS.