Ketika mendengar proses pembuatan sebuah aplikasi mobile mungkin bahasa atau tools yang familiar bagi rata-rata seorang developer adalah Go, Swift, React, Kotlin dan masih banyak lagi. Secara garis besar, ada 3 jenis proses pengembangan aplikasi berbasis mobile yaitu, native apps, basis web, dan cross-platform. Pengembangan aplikasi berbasis “Native”, secara khusus hanya untuk perangkat jenis tertentu misalnya Android dan Apple. Web apps secara umum pengunaanya sama seperti menjalankan browser. Terakhir adalah cross-platform atau hybrid. Jenis ini bisa lebih fleksibel karena menggunakan 1 base code untuk beberapa jenis perangkat atau sistem operasi. Flutter sendiri termasuk ke dalam jenis cross-platform.
Flutter merupakan salah satu Framework yang dikembangkan oleh Google yang dirilis pertama kali pada bulan Mei 2017. Salah satu keunggulan Flutter adalah dapat mengembangkan aplikasi untuk banyak platform (cross-platform) misalnya android dan iOS dengan hanya menggunakan satu base code, hal ini tentu saja sangat membantu developer dalam menghemat resource.
Proses development aplikasi
B Bayangkan Anda saat ini adalah seorang programmer mobile Android. Anda saat ini memiliki sebuah aplikasi popular di Google playstore dengan user lebih dari 10 juta. Karena aplikasi Anda sangat populer di Android, ada banyak pengguna iOS juga tertarik. Sebagai developer anda pasti menerima banyak permintaan atau pertanyaan “kapan nih tersedia di iOS?”
Untuk menjawab kebutuhan tersebut, sebagai developer maka Anda mungkin akan belajar terlebih dahulu cara mengembangkan aplikasi platform iOS atau menggunakan jasa outsource. Setelah beberapa lama kemudian, aplikasi secara resmi tersedia untuk iOS. Berarti saat ini Anda memiliki 2 base code yaitu android dan iOS.
Masalah Bug
Pernah mendengar istilah Bug?. Bug merupakan sebuah kesalahan penulisan pada code atau logika yang menyebabkan program atau aplikasi mengalami error. Bug dapat menghasilkan output yang tidak sesuai dengan yang diharapkan.
Ketika sebuah bug muncul maka sebagai developer Anda harus melakukan update pada 2 jenis base code android dan iOS. Jadi bisa dibayangkan ketika banyak bug muncul maka Anda harus melakukan pemeliharaan base code secara terpisah. Hal ini tentu saja akan menghabiskan banyak waktu atau resource.
Ukuran Screen
Saat ini ukuran layar merupakan salah satu aspek paling krusial dalam pengembangan aplikasi. Smartphone Android maupun iOS tersedia dalam ukuran yang beragam, sehingga seorang programmer atau developer harus bisa menyesuaikan tampilan aplikasi untuk setiap jenis ukuran layar.
Selain itu dengan berkembangnya sistem IoT, sistem android / iOS dapat dipasang pada barang kebutuhan sehari-hari misal dari jam tangan, headphones, sampai kebutuhan dapur seperti lemari pendingin.
Selamat datang Flutter!
Untuk mengatasi semua masalah tersebut, mari kita ucapkan selamat datang untuk Flutter. Flutter merupakan “Google UI toolkit” yang dapat digunakan untuk mengembangkan aplikasi berbasis mobile Android / iOS, web, maupun desktop hanya dengan menggunakan satu base code.
Dengan fitur ini tentu saja Anda sebagai developer akan sangat terbantu untuk menghemat resource dalam mengembangkan aplikasi. Selain itu, keunggulan Flutter selanjutnya adalah penggunaan widget. Flutter menyediakan katalog widget yang lengkap dan siap digunakan untuk membuat aplikasi.
Dart
Dart merupakan bahasa pemrograman yang wajib Anda kuasai terlebih dahulu sebelum menggunakan Flutter. Sama seperti Flutter, Dart juga dikembangkan oleh Google. Jika Anda sebelumnya Anda familiar dengan Java atau C++, maka seharusnya Anda akan lebih mudah untuk memahami syntax Dart.
Gambar di bawah ini merupakan salah satu contoh penggunaan Flutter dan Dart dalam membuat aplikasi sederhana dengan widget text dan column.

Penutup
Flutter merupakan framework SDK yang dikembangkan oleh Google, bisa dibilang salah satu framework favorit saat ini. Pada awal tahun 2021 Flutter memiliki lebih dari 100,000 stars di Github. Lalu pertanyaan berikutnya, bagaimana perkembangan di masa yang akan datang?
Menurut saya framework ini akan terus berkembang, terutama karena banyak fitur yang bisa membuat proses pengembangan aplikasi bisa menjadi lebih fleksibel dan simpel. Sampai jumpa di artikel berikutnya 🙂
Leave a Reply