
Flutter adalah kerangka kerja open source baru yang dibuat oleh Google yang membantu dalam mengembangkan aplikasi Android asli dan iOS dengan satu basis kode. Ini lebih dari sekadar kerangka kerja karena merupakan kit pengembangan perangkat lunak lengkap yang memiliki semua yang Anda perlukan untuk membangun aplikasi lintas platform. Ulasan Flutter ini akan melihat kelebihan dan kekurangan alat ini.
Keuntungan
1. Kinerja Tinggi
Banyak faktor yang memengaruhi kinerja suatu aplikasi, termasuk penggunaan CPU, jumlah bingkai per detik, waktu respons rata-rata, jumlah permintaan per detik, dan banyak lagi. Flutter menawarkan 60fps yang konsisten, yang merupakan tingkat di mana layar kontemporer menampilkan gambar yang halus dan jelas.
Pengembang berusaha untuk tetap bergerak pada level ini karena setiap keterlambatan dalam frame rate ini dapat diidentifikasi oleh mata manusia. Jika dibandingkan dengan React Native dan Xamarin, kerangka kerja ini berada di depan dengan waktu peluncuran 220 milidetik dan 58fps.
2. Aksesibilitas dan Internasionalisasi
Sebagai hasil dari advokasi untuk inklusivitas dan keanekaragaman, Google menawarkan peluang terintegrasi untuk membuat aplikasi yang dapat diakses oleh spektrum pengguna yang luas. Biasanya, ketika Anda membutuhkan aplikasi Anda untuk beroperasi di berbagai daerah dan bahasa, Anda ingin mendapatkan kode Anda siap untuk konten lokal, yang biasanya dibuat nanti. Proses ini disebut sebagai internasionalisasi.
Flutter untuk pengembangan seluler secara native menawarkan widget yang didasarkan pada paket Dart intl, yang membuat proses ini lebih mudah. Sekarang mendukung 24 bahasa, tetapi juga satuan ukuran, opsi tata letak, mata uang, dan tanggal.
3. Pembaruan Segera
Arsitektur Flutter telah diukir dengan fungsi isi ulang panas untuk memungkinkan pembaruan instan tanpa perlu plugin. Dengan pemuatan ulang panas, Anda dapat melihat pembaruan secara real time. Jika Anda mengalami kesalahan saat menjalankan kode, kerangka kerja memungkinkan Anda untuk segera memperbaikinya dan melanjutkan tanpa harus memulai ulang.
Kembali ke pemrograman normal di mana dibutuhkan beberapa menit untuk penerapan bisa menjadi masalah. Hot reload meningkatkan produktivitas Anda, memungkinkan untuk bereksperimen tanpa penundaan yang lama, dan membantu dengan iterasi cepat.
4. Kurva Belajar Ringan
Jika belajar Dart itu sederhana, maka membiasakan diri dengan alat ini akan lebih mudah. Banyak orang dengan sedikit pengetahuan pengkodean dapat mengembangkan prototipe dan aplikasi dengan kerangka kerja. Selain itu, Anda tidak memerlukan pengalaman pengembangan seluler untuk menggunakannya.
Selain itu, Google populer untuk mengembangkan dokumentasi yang terstruktur dengan baik dan terperinci, yang merupakan sesuatu yang sedang dikerjakan oleh React Native. Anda dapat membaca dokumen-dokumen ini dan juga pelajaran video dan pelajaran praktis Codelab. Kursus tersedia di Udacity dan Udemy, dan Anda bahkan dapat bergabung dengan komunitas Facebook.
5. Widget Kustom dan Siap Pakai untuk Pengodean UI Cepat
Alat ini menggunakan widget yang dirancang khusus. Dengan blok bangunan ini, alat ini membantu Anda dalam menciptakan antarmuka pengguna. Sementara banyak pendekatan menggunakan objek yang berbeda seperti pengontrol, tampilan, dan tata letak, kerangka kerja ini menampilkan model objek yang bersatu dan konsisten. Setiap objek dalam alat ini adalah widget, termasuk font, tombol, dan paddings. Anda dapat menggabungkan widget untuk membentuk tata letak, dan Anda dapat memutuskan untuk menggunakan widget pada tingkat penyesuaian apa pun.
Widget dalam kerangka ini disusun dalam pohon, yang membantu dalam rendering. Tetapi mereka dapat menyebabkan kecanggihan yang berlebihan dari struktur yang lengkap. Aplikasi besar dapat membutuhkan sebanyak sepuluh lapisan kode untuk membentuk objek dasar. Oleh karena itu diperlukan perencanaan struktur yang memadai.
Kekurangan
1. Masalah dengan iOS
Karena Flutter untuk pengembangan seluler telah dibuat oleh Google, pengembang berhak khawatir tentang penerapan iOS-nya. Karena Google memiliki minat langsung dalam perbaikan bug, membuat aplikasi Android pada framework itu menyenangkan dan cepat. Pembaruan terbaru untuk alat ini mencakup penampilan iOS yang sempurna piksel.
Pengaturan iPhone dibuat pada kerangka kerja untuk memungkinkan kemungkinan widget Cupertino. Tetapi ini dan fitur desain lainnya diperbarui kemudian dan didasarkan pada fitur iOS 10 meskipun iOS 11 telah dirilis untuk sementara waktu. Oleh karena itu tidak jelas apakah pembaruan akan terus dirilis secepat versi Android setelah alat meninggalkan fase beta.
2. Ukuran File Masif
Pengembang harus berusaha keras untuk mengurangi ukuran aplikasi. Pengguna membatasi penyimpanan telepon, dan lebih baik merilis aplikasi yang akan mencegah mereka menghapusnya demi gambar dan lagu favorit mereka. Untuk meminimalkan ukuran kode, pemrogram biasanya menghindari animasi, kompres gambar, dan mengurangi jumlah paket dan pustaka.
Kerangka kerja ini telah mengecewakan banyak pengembang setelah aplikasi Hello world mencapai 6.7MB. Bahkan ketika itu turun ke 4.7MB, itu tetap secara signifikan lebih besar dari Kotlin yaitu 550KB dan Jawa asli yaitu 539KB.
3. Dart
Dart digunakan untuk pengembangan Flutter dan memiliki kelebihan dan kekurangan. Ini adalah bahasa pemrograman dan berorientasi objek serta cepat. Namun, itu tidak sehebat bahasa pemrograman seperti C #, Java, Objective-C, dan JavaScript.
Tidak banyak pengembang pemula yang akan menemukan Dart dalam perjalanan belajar mereka, dan mungkin sulit untuk mendapatkan pengembang baru untuk tim Anda. Ini adalah faktor penting yang perlu diingat ketika akan melakukan pendekatan lintas platform.
4. Tidak ada perpustakaan pihak ketiga
Paket dan perpustakaan pihak ketiga memiliki peran penting dalam mengotomatisasi pengembangan perangkat lunak untuk pengembang dan menghilangkan persyaratan untuk memprogram semuanya sejak awal. Perpustakaan-perpustakaan ini biasanya open source, pra-diuji, dan mudah tersedia. Untuk teknologi yang paling populer dan lebih tua, mendapatkan paket yang diperlukan itu mudah.
Namun, karena Flutter untuk
pengembangan seluler adalah baru, tidak mudah untuk menemukan paket dan pustaka gratis semacam itu. Sumber resmi paket gratisnya masih membaik, dan daftar alatnya masih mengalami pertumbuhan. Karena itu Anda perlu menunggu sebelum memutuskan untuk menggunakannya untuk pengembangan jangka panjang.
Jika Anda mencari alat pengembangan aplikasi seluler yang memiliki kurva belajar ringan, kinerja tinggi, aksesibilitas dan internasionalisasi, widget siap pakai, dan pembaruan langsung, Flutter adalah untuk Anda. Namun, perhatikan kelemahannya sehingga Anda bisa tahu di mana Anda berdiri.