Halo, Alan Lovers! Kamu pasti tau kan aplikasi Gojek? Sebagai seorang pengembang, tentu yang menjadi pertanyaan dalam kepala kalian, “Gimana ya cara bikin aplikasi semacam Gojek?”.
Pada tahun 2020 lalu, Abhay Shood, seorang software engineer dalam laman blognya membagikan kisah Gojek mengadopsi dan bereksperimen menggunakan Flutter sebagai software development kit. Simak artikel ini untuk membahas kisah Gojek dan Flutter!
Awal Kisah Menggunakan Flutter
Pada tahun 2020, terjadi sebuah pembicaraan di kepala engineer Gojek mengangkat sebuah pertanyaan tebuka, “Apa yang bisa kita lakukan untuk meningkatkan kualitas aplikasi dan pengalaman dalam membuatnya?”.
Diskusi tersebut menghasilkan beberapa daftar yang harus dipertimbangkan untuk dikembangkan dalam aspek business, product, dan engineering. Daftar tersebut terdiri dari:
- Optimize for Performance
- Optimize for Low End Device
- Reduced App Size
- Optimize for Poor Connectivity
- Optimize for Native UX Look and Feel
- Shared Codebase
- Optimize for Rapid UX Iterations
- Developer Community and Libraries
- Optimize for Rapid Business Logic Iterations
- Engineer Skill Sets
Dari sana, lahirlah sebuah proposal rencana untuk melakukan eksperimen dengan sebuah cross-platform framework. Inilah yang menandai awal mula penggunaan Flutter di Gojek.
Fase 1: Eksplorasi dan Eksperimentasi Flutter
Tujuan awal mereka adalah membuktikan kepada apakah Flutter sesuai dengan daftar prioritas yang telah kita dibuat sebelumnya.
Mereka tidak dapat menulis ulang seluruh aplikasi Gojek, karena tentu tidak praktis. Jadi, mereka ingin memvalidasi apakah dapat menambahkan fitur baru ke aplikasi yang sudah ada menggunakan Flutter, dan masih mendapatkan sebagian besar manfaat yang diharapkan.
Untuk memeriksanya, mereka menciptakan requirement: Bangun tampilan berikut di Flutter dan masukkan ke dalam aplikasi Gojek yang sudah ada. Mengklik daftar restoran pada tampilan ini harus membawa pengguna ke halaman detail restoran yang sudah ada di GoFood, produk pengiriman makanan.
Setelah sekitar 2 bulan bekerja bersama tiga engineer, dua di antaranya tidak memiliki pengalaman Flutter sebelumnya, tetapi mendapatkan hasil positif.
Mereka mengumpulkan hasilnya ke dalam dokumen rinci sebanyak 40 halaman. Dokumen tersebut berisi detail pengujian seperti FPS, penggunaan CPU; Dampak pada ukuran aplikasi dan waktu pembangunan; Detail implementasi seperti manajemen status, pengujian, aksesibilitas, peta, dukungan komunitas; Masalah yang diketahui dengan kerangka kerja; Dampak pada produktivitas pengembang, dan banyak lagi.
Fase 1.5: Membangun momentum
Setelah eksperimen selesai, kami menemukan diri kami dalam masalah klasik ayam dan telur. Beberapa tim tertarik untuk mencoba Flutter, tetapi tidak bisa karena infrastruktur yang diperlukan tidak ada. Hambatan untuk masuk terlalu tinggi. Di sisi lain, untuk membangun infrastruktur, memerluka mengeluarkan waktu, orang, dan sumber daya.
Untuk memecahkan masalah ini, di UX Engineering, kami mulai membangun sistem desain Asphalt Aloha yang indah dalam Flutter. Saat ini tim terdiri dari 2 pengembang, dengan hanya satu di antaranya bekerja penuh waktu.
Holy Grail for Adoption
Tujuan mereka dengan membangun perpustakaan UI pengguna adalah untuk mengurangi hambatan masuk untuk tim lain. Saat mereka membangun perpustakaan, mereka juga menyiapkan seluruh infrastruktur CI untuk membangun aplikasi Flutter / Dart. Hal ini seharusnya memberikan dasar yang cukup bagi tim untuk mengeksplorasi lebih lanjut.
Mereka juga beruntung menemukan sebuah tim yang sedang membangun aplikasi baru dari awal dan memutuskan untuk melakukannya dalam Flutter.
Akhir Kata
Kisah tersebut diharapkan dapat memberikan motivasi bagi kita semua untuk terus belajar terhadap berbagai perkembangan. Termasuk mempelajari framework baru. Flutter sebagai framework yang baru ternyata mampu menjadi pilihan bagi Gojek dalam mengembangkan aplikasinya.
Ada info menarik juga buat kalian, bahwa Alan Creative menggunakan Flutter dalam mengerjakan proyek. Tentunya, pemilihan technology stack ini disesuaikan dengan keinginan dan kebutuhan kalian. Oleh karenanya, berbagai macam aplikasi mobile yang dikembangkan dapat diselesaikan secara cepat dan sesuai dengan keinginan kalian. Kalau kalian butuh jasa layanan pembuatan aplikasi hingga web, tunggu apalagi? Hubungi kami sekarang juga!