EAS Update: Over-The-Air Updates
Update JavaScript bundle tanpa App Store review
Tujuan Pembelajaran
- Memahami arsitektur OTA updates dan batasannya
- Mampu mengkonfigurasi dan publish EAS Update
- Mengerti strategi branching untuk updates
Analogi
EAS Update = Update Konten Website:
- Kamu bisa ganti teks, gambar, logic JS kapan saja
- User dapat update langsung (next app start atau real-time)
- TANPA App Store review
- TANPA user harus download dari App Store
Seperti deploy website — tinggal push, user langsung lihat versi baru.
Batasan: hanya JavaScript/JSX — gak bisa update native code.
EAS Update seperti update website — push perubahan, user langsung dapat versi baru tanpa download dari App Store. CEPAT. Tapi hanya JavaScript, bukan native code.
Penjelasan Konsep
EAS Update memungkinkan kamu meng-update JavaScript bundle aplikasi secara Over-The-Air (OTA) — tanpa harus melalui App Store review (iOS) atau build baru (Android).
Cara kerja: (1) App startup → cek Expo update server untuk update terbaru. (2) Kalau ada → download bundle baru di background. (3) Next app launch → jalankan bundle baru (atau langsung apply dengan reload). (4) User selalu dapat versi terbaru tanpa menunggu App Store.
Setup: (1) npx expo install expo-updates. (2) Konfigurasi app.json → updates.url + runtimeVersion. (3) eas update --branch production --message "Fix critical bug". (4) Update tersedia dalam hitungan detik.
Batasan: (1) HANYA JavaScript/TypeScript/JSX — tidak bisa update native code (Podfile, build.gradle, native module). Kalau native berubah → butuh build baru. (2) App harus menggunakan EAS Build (bukan Expo Go). (3) Butuh koneksi internet untuk download update (first launch after install).
Updates vs new build: (1) Bug fix UI → EAS Update. (2) Tambah fitur JS → EAS Update. (3) Update native library → Build baru + App Store submission. (4) Major version (breaking change) → Build baru.
Branching: (1) production — untuk live users. (2) preview — untuk testing (pakai development build). (3) Development — experimental, tidak ke production.
Rollback: kalau update bikin crash → eas update:rollback untuk kembali ke update sebelumnya. User akan dapat bundle lama. Ini life-saver.
Inti yang Perlu Dipahami
Bagian ini berfokus pada memahami arsitektur OTA updates dan batasannya., mampu mengkonfigurasi dan publish EAS Update., dan mengerti strategi branching untuk updates. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.
Saat membaca EAS Update, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.
Cara Membayangkannya
EAS Update seperti update website — push perubahan, user langsung dapat versi baru tanpa download dari App Store. CEPAT. Tapi hanya JavaScript, bukan native code. 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. eas update:configure untuk setup pertama. Publish dengan —branch + —message. eas update:rollback untuk emergency rollback.
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
# Setup pertama
expo install expo-updates
eas update:configure
# Publish update ke branch production
eas update --branch production --message "Bugfix: login crash on iOS 17"
# Rollback ke update sebelumnya
eas update:rollback --branch productionPenjelasan Kode
Prompt AI
Desain OTA update strategy: (a) hotfix critical bug → langsung ke production, (b) feature flag rollout (10% user bertahap ke 100%), (c) A/B testing dua versi update, (d) force update mechanism untuk breaking changes.
Pertanyaan Reflektif
Seberapa sering aplikasi-aplikasi yang kamu pakai melakukan update OTA? Apakah kamu perhatikan perbedaannya dengan update dari App Store?