Flutter merupakan salah satu framework untuk membangun aplikasi multiplatform dengan tampilan yang cakep. Tak heran, kini para developer, khususnya di perusahaan besar, mulai tertarik untuk memasukkan Flutter ke dalam aplikasinya. Kenapa harus Flutter? Kenapa tidak framework lain? Mereka beranggapan bahwa Flutter layak dipelajari dan digunakan untuk tech stack yang mereka bangun.
Lalu, apakah kamu tahu perusahaan yang sudah menerapkan Flutter ke dalam tech stack mereka? Kemudian, apa alasan mereka beralih? Bagi kamu yang kepo, baca tuntas artikel ini, ya.
💻 Mulai Belajar Pemrograman
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.
Daftar SekarangPada acara Google I/O 2022, Tim Sneath, selaku Product Manager dari tim Flutter, berkata bahwa “Terdapat sekitar 500 ribu aplikasi telah dibangun menggunakan Flutter.” Banyak perusahaan yang memutuskan menggunakan Flutter untuk meningkatkan produktivitas karyawan serta kenyamanan pengguna.
Mulai dari segmen keuangan, e-commerce, sosial media, bahkan real estate pun mengadopsi Flutter untuk tech stack mereka. Nah, berikut beberapa perusahaan yang berusaha dan sukses menerapkan Flutter di aplikasi mereka.
Gojek
Siapa yang tak kenal dengan aplikasi ojek online yang satu ini? Yup, Gojek. Salah satu perusahaan teknologi di Indonesia yang menyediakan berbagai layanan, seperti transportasi, logistik, pesan-antar, pembayaran, dll. Aplikasi yang mereka bangun pada App Store dan Google Play Store telah banyak dipakai oleh masyarakat Indonesia.
Seiring berkembangnya teknologi, mereka menginginkan aplikasinya menjadi lebih baik dengan meningkatkan user experience. Riset pun dilakukan demi mencapai tujuan tersebut. Akhirnya, mereka mencoba bereksperimen dengan menambahkan Flutter pada aplikasinya.
Tidak membuatnya dari awal, hanya menambahkan satu fitur dari layanan mereka menggunakan Flutter. Layanan pesan-antar makanan (GoFood) pun dipilih sebagai “kelinci percobaan” mereka.
Hasil percobaan yang dilakukan para engineer pun tidak sia-sia. Mereka memberikan respons positif walaupun dua dari tiga engineer tidak memiliki pengalaman di pemrograman Flutter. Dengan kata lain, mereka menginginkan Flutter tetap digunakan untuk mendukung pembuatan aplikasi.
Akhirnya, mereka akan tetap memperjuangkan Flutter untuk masuk dalam “to-do list” mereka. Library pun dibuat oleh mereka untuk memudahkan proses pengembangan aplikasi. Selengkapnya, kamu bisa baca artikel tentang Experimenting with Flutter at Gojek yang dibuat oleh tim Gojek.
iFood
iFood merupakan aplikasi pesan-antar makanan asal Brasil untuk memudahkan pengguna dalam berbelanja bahan pokok dan makanan restoran. Tidak hanya untuk para pemesan makanan (order), mereka juga menyediakan aplikasi terpisah untuk pengirim makanan (deliver) dan restoran (order manager) dalam mengelola pesanan.
Mereka ingin melakukan ekspansi aplikasi yang akan menggabungkan beberapa aplikasi tersebut menjadi satu super app. Namun, mereka kesulitan karena aplikasi masih dibangun secara native di berbagai platform.
Akhirnya, mereka berdiskusi antara tim iFood dengan beberapa mitra terkait untuk menyesuaikan kebutuhan pasar dan pengguna. Setelah itu, mereka memutuskan untuk membuat super app dengan teknologi multiplatform dengan React Native (awalnya). Ternyata, para engineer yang dulunya bekerja menggunakan native sulit memahami React atau Javascript.
Singkat cerita, di akhir diskusi, tim iFood memilih Flutter sebagai framework untuk membangun super app mereka. Mereka melakukan studi bahwa Flutter mudah untuk dipelajari, khususnya bagi yang berpengalaman dengan native, membuat tampilan UI yang cepat, dan memiliki performa yang baik dibandingkan React Native. Alasan tersebut yang menguatkan tim iFood untuk berpindah ke Flutter dan melanjutkan ekspansi aplikasinya.
Selengkapnya, silakan baca artikel pada laman iFood Tech.
Nubank
Nubank merupakan salah satu bank digital terbesar asal Brasil yang memiliki puluhan juta pelanggan. Ia telah membangun layanan perbankan sejak tahun 2013 dengan teknologi Android dan iOS menggunakan Kotlin dan Swift.
Lambat laun, fitur yang dikembangkan oleh Nubank semakin bertambah. Terkadang, terdapat satu fitur yang tersedia pada platform Android dahulu, lalu iOS. Kondisi ini yang menyebabkan para pelanggan merasa kecewa.
Alhasil, mereka melakukan berbagai riset tentang cara menyediakan fitur andalan Nubank secara bersamaan, baik di Android maupun iOS. Mereka menemukan beberapa teknologi untuk membangun aplikasi cross-platform untuk mobile, yaitu Kotlin Native, React Native, dan Flutter.
Dilihat dari background para engineer sebagai Android Developer, mereka berpikir bahwa Kotlin Native bisa menjadi alternatif baru menyelesaikan permasalahan cross-platform. Nyatanya, di masa itu Kotlin Native tidak menyediakan UI abstraction yang membuat ketergantungan akan setiap platform. Menurut mereka, Kotlin Native belum siap untuk diterapkan pada aplikasinya.
Riset berikutnya adalah React Native. Berdasarkan analisis yang didapatkan, React Native bisa menjadi opsi baru untuk mengembangkan aplikasi cross-platform. Di sisi lain, ketika React Native mengalami perombakan (breaking changes), ketergantungan akan library lain semakin besar. Hal ini yang mengakibatkan aplikasi susah dikelola dan dipelihara dengan baik.
Setelah melakukan diskusi dan perdebatan dalam pemilihan framework, Nubank menentukan penggunaan Flutter sebagai teknologi utama dalam pengembangan aplikasi Mobile.
Berdasarkan kajian yang diperoleh, Flutter memiliki dokumentasi yang lengkap, fitur hot reload yang baik, serta penggunakan API yang stabil. Akhirnya, mereka dapat membangun aplikasi dengan cepat dan tidak ada lagi fitur yang tertinggal di Android maupun iOS.
Untuk selengkapnya, kamu bisa lihat pada artikel terkait: Scales up a mobile development at Nubank.
eBay Motors
eBay Motors merupakan salah satu aplikasi besutan perusahaan eBay untuk mempermudah pengguna dalam jual-beli kendaraan. Pada tahun 2018, Tim eBay Motors ditunjuk untuk membuat aplikasi tersebut pada platform Android dan iOS.
Bagi tim, pembuatan aplikasi untuk kedua platform tersebut tak jadi masalah karena mereka sudah ahli dalam bidang pemrograman secara native. Namun, mereka menginginkan konsep baru dengan membangun aplikasi cross-platform dalam satu codebase.
Tidak lama setelah penugasannya, muncullah Flutter 1.0 yang digadang-gadang bisa membuat aplikasi seperti kebutuhan mereka. Sayangnya, mereka masih belum familier dengan teknologi baru dan takut mengambil risiko.
Akhirnya, mereka diberi waktu kurang dari satu tahun untuk mempelajari Flutter. Sebab, pada dasarnya para engineer saat itu tidak memiliki pengetahuan terkait bahasa Dart dan Flutter.
Pada akhirnya, para tim menyetujui pengembangan aplikasi eBay Motors dengan menerapkan teknologi Flutter. Para tim sangat senang bekerja menggunakan Flutter, khususnya dengan fitur unit testing dan integration testing. Hal ini yang selalu menjadi tolok ukur para developer agar memudahkan pembuatan dan dokumentasi aplikasi.
Selain itu, para tim mampu membangun aplikasi berdasarkan komponen tiap platform seperti Android dan iOS. Dengan kata lain, mereka tidak membutuhkan library baru untuk membantu satu komponen untuk satu platform saja.
Selengkapnya, kamu bisa melihat artikel terkait eBay Motors: Accelerating with Flutter.
Kesimpulan
Itulah beberapa perusahaan besar yang mengubah tech stack mereka ke dalam Flutter. Mereka meninjau beberapa aspek agar para engineer lebih produktif dan meningkatkan kenyamanan pengguna dalam memakai aplikasi. Mereka pun memilih Flutter dengan berbagai alasan, seperti
- pengembangan aplikasi multi-platform lebih cepat;
- dokumentasi yang lengkap;
- pembuatan UI yang menarik;
- performa aplikasi yang baik;
- tidak memiliki ketergantungan antar library;
- kapabilitas testing yang mumpuni; dll.
Mengubah tech stack dalam ruang lingkup perusahaan tidaklah mudah. Mereka membutuhkan waktu yang cukup, riset yang memadai, serta sumber daya yang mumpuni agar menghasilkan konklusi akhir.
Selain itu, memilih suatu tech stack untuk aplikasi baru juga perlu diperhitungkan juga. Jangan sampai kamu menggunakan salah satu tech stack hanya berdasarkan kepopulerannya saja. Perhatikan juga aspek pengembangan tech stack ke depannya.
Bagaimana? Sudah mulai terbayang kan gambaran memilih tech stack pilihanmu? Flutter bisa menjadi opsi utama tech stack kamu dalam mengembangkan aplikasi mobile, web, ataupun desktop. Kalau kamu tahu beberapa perusahaan yang sudah menggunakan Flutter, bisa di-share di kolom komentar, ya.