Rizky Joanditya KreasiRizky Joanditya Kreasi.
← Kembali ke artikel

React Native dengan Expo: Build Android dan iOS Tanpa Mac (Expo Go dan EAS Build)

Expo Go, EAS Build, build iOS tanpa Mac, aplikasi mobile lintas platform, development build Expo, EAS Update

Rizky Joanditya · · 7 menit baca

    Salah satu hambatan terbesar membuat aplikasi iPhone adalah anggapan bahwa Anda wajib punya Mac. Untuk tim kecil, vendor, atau instansi yang seluruh perangkat kerjanya Windows atau Linux, hambatan ini nyata. Dari sinilah Expo menjadi menarik: ekosistem di atas React Native yang menyederhanakan pengembangan, pengujian, dan proses build aplikasi Android dan iOS.

    Namun istilahnya sering tercampur. Banyak orang menyebut “Expo Go” untuk semua hal, padahal ada beberapa alat berbeda dengan fungsi berbeda. Artikel ini meluruskannya dan menjelaskan apa yang bisa dan tidak bisa dilakukan tanpa Mac.

    Artikel ini melanjutkan pembahasan kami di Flutter vs React Native untuk aplikasi instansi. Jika Anda belum memutuskan framework, baca itu dulu.

    Apa Itu Expo?

    Expo adalah kerangka kerja dan kumpulan layanan di atas React Native. Ia menyediakan:

    Struktur proyek dan perkakas siap pakai

    Kumpulan modul (kamera, lokasi, notifikasi, penyimpanan aman, dan lain-lain)

    Alat menjalankan aplikasi langsung di ponsel

    Layanan cloud untuk membuat file aplikasi dan mengirimnya ke toko aplikasi

    Dengan Expo, Anda menulis satu basis kode JavaScript atau TypeScript yang dapat berjalan di Android, iOS, dan bahkan web.

    Sketsa kotak perkakas Expo berisi Expo Go, development build, EAS Build, dan EAS Submit

    Meluruskan Istilah: Expo Go, Development Build, EAS Build

    Ini bagian yang paling sering membingungkan.

    Alat

    Fungsi

    Perlu Mac untuk iOS?

    Expo Go

    Aplikasi di ponsel untuk menjalankan dan menguji proyek dengan cepat saat pengembangan

    Tidak

    Development build

    Versi aplikasi Anda sendiri yang berisi modul native khusus, dipakai saat pengembangan

    Tidak, jika dibuat lewat EAS Build

    EAS Build

    Layanan cloud yang mengompilasi aplikasi menjadi file rilis (APK/AAB untuk Android, IPA untuk iOS)

    Tidak

    EAS Submit

    Mengirim build ke Google Play dan App Store

    Tidak

    EAS Update

    Mengirim pembaruan kode JavaScript langsung ke aplikasi yang sudah terpasang

    Tidak

    Poin penting yang sering salah dipahami: Expo Go bukan alat untuk mengompilasi atau merilis aplikasi. Ia hanya “wadah” untuk melihat proyek berjalan selama pengembangan. File aplikasi yang siap dirilis dihasilkan oleh EAS Build.

    Sketsa alur dari kode ke Expo Go untuk uji, EAS Build untuk membuat file, lalu ke toko aplikasi

    Alur Kerja Praktis

    1. Membuat proyek

    Prasyaratnya cukup Node.js dan editor kode. Proyek baru dibuat lewat perintah resmi Expo (create-expo-app), yang menyiapkan struktur dasar dengan TypeScript dan navigasi.

    2. Menjalankan dan menguji di ponsel dengan Expo Go

    Jalankan server pengembangan, lalu pindai kode QR dengan aplikasi Expo Go di ponsel (Android) atau kamera/aplikasi Expo Go (iPhone). Aplikasi langsung tampil, dan setiap perubahan kode muncul hampir seketika (fast refresh).

    Ini mempercepat siklus kerja karena tidak perlu menunggu proses build berulang. Pastikan ponsel dan komputer berada di jaringan yang sama, atau gunakan mode tunnel jika jaringan membatasi.

    Sketsa stickman memindai kode QR dari laptop untuk menjalankan aplikasi di ponsel dengan Expo Go

    3. Mengembangkan fitur

    Untuk kebutuhan umum seperti kamera, lokasi, notifikasi, penyimpanan aman, dan autentikasi, tersedia modul bawaan Expo. Untuk login SSO, tersedia pustaka autentikasi berbasis OAuth 2.0/OpenID Connect yang dapat dipakai, tergantung penyedia identitas Anda (lihat artikel kami tentang SSO untuk aplikasi pemerintah).

    4. Membuat development build bila perlu

    Expo Go hanya berisi modul yang sudah dibundel di dalamnya. Begitu proyek memerlukan modul native khusus (misalnya library pihak ketiga yang memakai kode native), Anda perlu beralih ke development build, yaitu versi Expo Go milik aplikasi Anda sendiri. Ini juga dibuat lewat EAS Build, sehingga tetap tidak butuh Mac.

    5. Membuat build rilis dengan EAS Build

    Setelah aplikasi siap, EAS Build mengompilasinya di server cloud Expo, termasuk untuk iOS, sehingga Anda tidak perlu menjalankan Xcode sendiri. Hasilnya berupa file yang bisa dibagikan untuk pengujian internal atau dikirim ke toko aplikasi.

    6. Mengirim ke toko aplikasi

    EAS Submit membantu mengirim build ke Google Play dan App Store Connect. Di tahap ini, persyaratan toko tetap berlaku.

    Apa yang Bisa dan Tidak Bisa Dilakukan Tanpa Mac

    Ini bagian yang harus jujur agar pembaca tidak salah harapan.

    Bisa tanpa Mac:

    • Mengembangkan seluruh kode di Windows atau Linux

    • Menguji di iPhone lewat Expo Go

    • Membuat build iOS lewat EAS Build di cloud

    • Mengirim build ke App Store lewat EAS Submit

    Tetap diperlukan:

    • Akun Apple Developer berbayar (program tahunan) untuk menguji di perangkat lewat build sendiri dan untuk merilis ke App Store

    • Akun Google Play Developer untuk merilis ke Google Play

    • Perangkat iPhone untuk pengujian nyata, atau cara lain menguji, karena simulator iOS hanya tersedia di Mac

    • Penanganan sertifikat dan profil penyiapan Apple, yang sebagian bisa diotomatisasi oleh EAS tetapi tetap perlu dipahami

    Biaya dan kuota layanan EAS (jumlah build gratis, antrean, paket berbayar) berubah dari waktu ke waktu. Cek halaman harga resmi Expo sebelum menyusun anggaran proyek.

    Sketsa perbandingan hal yang bisa dilakukan tanpa Mac dan hal yang tetap diperlukan seperti akun developer

    Batasan Expo Go yang Perlu Diketahui

    • Modul native khusus tidak tersedia. Library yang butuh kode native di luar bundel Expo Go tidak akan berjalan di dalamnya, sehingga perlu development build.

    • Bukan tampilan rilis. Ikon, nama aplikasi, dan perilaku tertentu (seperti notifikasi push atau deep link) bisa berbeda dari aplikasi rilis, jadi tetap uji lewat build sungguhan sebelum rilis.

    • Kompatibilitas versi. Expo Go mendukung versi SDK tertentu, sehingga proyek perlu diselaraskan dengan versi yang didukung aplikasi di toko.

    • Cocok untuk prototipe dan pengembangan awal. Untuk aplikasi produksi, praktik umum yang disarankan adalah memakai development build.

    Pembaruan Lewat Udara (EAS Update)

    Expo memungkinkan Anda mengirim pembaruan kode JavaScript dan aset ke aplikasi yang sudah terpasang tanpa melalui proses review toko. Berguna untuk perbaikan bug cepat.

    Pertimbangan untuk instansi:

    • Pembaruan yang menyentuh kode native tetap memerlukan rilis build baru.

    • Kebijakan toko aplikasi membatasi jenis perubahan yang boleh dikirim lewat udara, jadi pelajari ketentuan terbaru.

    • Instansi dengan prosedur persetujuan perubahan perlu menyelaraskan mekanisme ini dengan tata kelola internal, termasuk siapa yang berhak mengirim pembaruan dan bagaimana jejaknya dicatat.

    Pertimbangan Keamanan dan Kebijakan untuk Proyek Instansi

    Karena EAS Build memproses kode di infrastruktur pihak ketiga, tanyakan sebelum memakainya:

    • Apakah kebijakan instansi mengizinkan kode sumber atau rahasia (kunci API, sertifikat) diproses di layanan cloud pihak ketiga?

    • Bagaimana kunci penandatanganan aplikasi disimpan dan siapa yang mengaksesnya?

    • Apakah diperlukan build di infrastruktur sendiri? Beberapa alur build dapat dijalankan lokal, tetapi untuk iOS tetap memerlukan lingkungan macOS.

    • Apakah kebijakan data dan pelindungan data pribadi mengizinkan pengiriman data telemetri atau crash report ke layanan luar?

    Untuk keamanan aplikasi itu sendiri, praktik yang sama berlaku seperti pada framework lain: penyimpanan token di secure storage, enkripsi komunikasi, pembaruan dependensi berkala, dan pengujian penetrasi sebelum rilis.

    Kapan Expo Cocok, Kapan Perlu Pertimbangan Lain

    Kondisi

    Penilaian

    Tim berbasis Windows atau Linux, ingin menjangkau iOS

    Expo sangat membantu

    Prototipe atau MVP yang perlu cepat dicoba pengguna

    Cocok, mulai dengan Expo Go

    Aplikasi layanan dengan form, daftar, notifikasi, dan login SSO

    Umumnya cocok

    Butuh integrasi perangkat keras khusus atau SDK native pihak ketiga yang berat

    Perlu development build, atau evaluasi ulang

    Aturan ketat soal pemrosesan kode di cloud luar

    Periksa kebijakan, pertimbangkan alur build lokal atau alternatif

    Tim sudah menguasai Flutter

    Tidak perlu berpindah hanya demi Expo

    Sketsa papan penunjuk arah memilih Expo Go, development build, atau pengecekan kebijakan

    Kesalahan yang Sering Terjadi

    Mengira Expo Go adalah alat rilis. Rilis dihasilkan lewat EAS Build, bukan Expo Go.

    Terlalu lama bertahan di Expo Go. Begitu butuh modul native, segera pindah ke development build agar tidak terbentur di tengah proyek.

    Tidak menguji build rilis di perangkat nyata. Beberapa perilaku baru terlihat di build sungguhan.

    Menganggap bebas biaya. Akun toko aplikasi dan kemungkinan paket layanan cloud perlu dianggarkan.

    Mengabaikan kebijakan instansi. Periksa lebih awal soal pemrosesan kode dan data di layanan eksternal.

    Tidak mendokumentasikan alur build. Pastikan prosedur build dan kepemilikan akun terdokumentasi agar tidak bergantung pada satu orang atau vendor.

    Checklist Sebelum Memulai Proyek dengan Expo

    Sudahkah Anda memastikan modul yang dibutuhkan tersedia di Expo atau butuh development build?

    Sudah ada akun Apple Developer dan Google Play Developer, dan siapa pemiliknya (instansi atau vendor)?

    Apakah kebijakan instansi mengizinkan proses build di layanan cloud?

    Bagaimana kunci penandatanganan dan rahasia aplikasi akan disimpan?

    Apakah ada perangkat iPhone dan Android nyata untuk pengujian?

    Bagaimana alur pembaruan (toko vs lewat udara) dan siapa yang menyetujuinya?

    Sudahkah prosedur build didokumentasikan?

    Kesimpulan

    Expo memangkas hambatan terbesar pengembangan React Native lintas platform: tim yang tidak punya Mac tetap bisa mengembangkan, menguji, dan membuat build untuk Android maupun iOS. Kuncinya memahami peran tiap alat: Expo Go untuk uji cepat, development build untuk modul khusus, EAS Build untuk membuat file rilis. Dengan ekspektasi yang tepat soal akun toko aplikasi, biaya layanan, dan kebijakan instansi, Expo bisa menjadi jalur yang efisien dari ide ke aplikasi yang benar-benar dipakai.

    Butuh Aplikasi Mobile untuk Instansi atau Bisnis Anda?

    Dhiyari membantu merancang dan membangun aplikasi mobile Android dan iOS, dari analisis kebutuhan, pemilihan teknologi, sampai rilis dan pemeliharaan, dengan pelaporan kemajuan setiap minggu. Ceritakan kebutuhan Anda, dan kami bantu menyusun pendekatan yang sesuai dengan kondisi tim dan kebijakan Anda.

    BagikanWhatsAppLinkedIn

    Artikel terkait

    Lihat semua artikel →