Setup Expo & Alur Development
Dari nol ke aplikasi berjalan di device dalam 10 menit
Tujuan Pembelajaran
- Mampu menginstal dan mengkonfigurasi Expo development environment
- Memahami perbedaan Expo managed vs bare workflow
- Mampu menjalankan app di emulator dan device fisik
Analogi
Expo Managed = Sewa apartemen furnished:
- Semua siap pakai (camera, maps, notification)
- Tidak bisa ubah struktur bangunan (native code)
- Cocok untuk 90% kasus
Expo Bare = Beli tanah + bangun rumah sendiri:
- Freedom total (access native code)
- Maintenance tanggung sendiri
- Cocok kalau butuh custom native module
Expo managed workflow seperti apartemen furnished — langsung bisa dipakai. Bare workflow seperti bangun rumah sendiri — lebih fleksibel tapi lebih banyak kerja.
Penjelasan Konsep
Expo adalah framework yang menyederhanakan React Native development. Managed workflow: kamu tidak menyentuh kode native (iOS/Android) — Expo handle build, signing, dan native module. Bare workflow: kamu punya akses penuh ke folder ios/ dan android/, bisa tambah custom native module.
Setup: (1) npx create-expo-app@latest mobile-app --template blank-typescript, (2) cd mobile-app && npx expo start, (3) Scan QR code dengan Expo Go app di device fisik, atau tekan a untuk Android emulator / i untuk iOS simulator.
Expo Go: app di App Store/Play Store yang bisa load project React Native kamu lewat QR code. Tidak perlu build — instant preview. Tapi tidak support semua native module.
Development build: setelah setup dasar, generate development build (eas build --profile development --platform all). Ini bisa pakai semua native module. Development build + Expo Go adalah combo mematikan — prototyping cepat dengan Go, production testing dengan dev build.
Alur development: tulis kode di VS Code/Cursor → Expo auto-reload di device (Fast Refresh) → debug dengan React DevTools dan Flipper. Siklus ini sama cepatnya dengan web dev — save, lihat hasil instant di device.
Inti yang Perlu Dipahami
Bagian ini berfokus pada mampu menginstal dan mengkonfigurasi Expo development environment., memahami perbedaan Expo managed vs bare workflow., dan mampu menjalankan app di emulator dan device fisik. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.
Saat membaca Setup Expo & Alur Development, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.
Cara Membayangkannya
Expo managed workflow seperti apartemen furnished — langsung bisa dipakai. Bare workflow seperti bangun rumah sendiri — lebih fleksibel tapi lebih banyak kerja. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.
Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.
Saat Melihat Contoh Kode
Contoh kode pada chapter ini memakai bahasa bash. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. Setup Expo hanya butuh Node.js terinstall. create-expo-app membuat struktur proyek dengan TypeScript. expo start menjalankan Metro bundler — seperti webpack tapi untuk React Native.
Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.
Konteks dalam Perjalanan Belajar
Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.
Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.
Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.
Contoh Kode
# Install Expo CLI
npx create-expo-app@latest mobile-app --template blank-typescript
cd mobile-app
# Jalankan development server
npx expo start
# Build development build (butuh akun Expo gratis)
npm install -g eas-cli
eas login
eas build --platform all --profile developmentPenjelasan Kode
Prompt AI
Jelaskan perbedaan antara Expo Go, development build, dan production build. Kapan saya harus menggunakan masing-masing?
Pertanyaan Reflektif
Coba jalankan app Expo di device fisikmu. Bandingkan pengalaman development mobile (Expo Go + hot refresh) dengan web development (browser + live reload). Apa yang terasa familiar dan apa yang berbeda?