Google telah merilis pembaruan untuk Flutter dan Dart SDK, yang menghadirkan sejumlah peningkatan untuk pengembangan terpadu lintas platform. Baca terus untuk mengetahui lebih lanjut!
Flutter adalah a kerangka pemrograman lintas platform, yang bertujuan untuk mengatasi kesulitan dalam mengembangkan aplikasi lintas platform tanpa kekacauan kode non-asli. Dengan pengetahuan tentang bahasa pemrograman Dart, pengembang dapat membuat aplikasi untuk Android, iOS, web, dan desktop dengan tampilan UI terpadu di seluruh aplikasi. Berkibar 1.9 membawa dukungan macOS dan Catalina dalam keadaan alfa, sementara rilis v1.12 mematangkan dukungan mereka melewati kondisi pra-alfa. Kini, Google merilis Flutter rilis v1.17 baru dan Dart v2.8, menandai keduanya sebagai rilis stabil pertama untuk Flutter dan Dart pada tahun 2020.
Berkibar 1.17
Bulan lalu, Google melakukannya mengumumkan perubahan pada proses rilisnya. Proses awal perusahaan tidak memiliki kejelasan mengenai kapan rilis akan dibuat, kode apa yang ada di dalamnya, dan sebagainya. Sekarang, Google berencana untuk mengirimkan rilis stabil dalam siklus triwulanan. Hal ini sendiri menimbulkan beberapa tantangan, karena infrastruktur rilis harus dilengkapi kembali untuk proses rilis baru. Sekarang, Flutter 1.17 dirilis ke saluran stabil untuk pengembang. Google telah menyelesaikan 6.339 masalah sejak rilis Flutter 1.12 sebelumnya, dan mereka telah menutup lebih banyak bug dibandingkan yang dibuka tahun ini, sehingga menghasilkan penurunan bersih sebesar ~800 masalah.
Selain perbaikan bug, Flutter 1.17 menghadirkan peningkatan kinerja yang substansial, peningkatan dukungan untuk Metal di iOS, dan menyertakan widget Material baru.
Peningkatan kinerja
Aplikasi yang dibuat dengan Flutter 1.17 dibandingkan rilis yang lebih lama akan mengalami peningkatan kecepatan 20-37% untuk kasus navigasi default yang memiliki rute buram tanpa transparansi. Ada juga peningkatan besar dalam ukuran aplikasi yang dibuat dengan Flutter 1.17. Misalnya, sampel Galeri Flutter sekarang berukuran 8,1 MB pada tahun 2020 dibandingkan 9,6 MB pada akhir tahun 2019. Untuk penggunaan memori, rilis 1.17 menghadirkan pengurangan memori sebesar 70% dalam pengguliran cepat melalui gambar besar.
Logam adalah API grafis tingkat rendah Apple yang menyediakan akses hampir langsung ke GPU yang mendasari perangkat iOS. Flutter kini menggunakan Metal secara default saat dibuat untuk perangkat iOS yang didukung, membuat aplikasi Flutter berjalan lebih cepat. Dukungan Metal yang ditingkatkan meningkatkan kecepatan rendering aplikasi iOS rata-rata sekitar 50%. Pada perangkat iOS yang tidak sepenuhnya mendukung Metal, yaitu perangkat dengan versi iOS lebih rendah dari 10 dan dirilis sebelum prosesor A7, Flutter kembali ke OpenGL.
Flutter 1.17 menambahkan dukungan untuk widget Material baru. Ada juga pembaruan pada widget yang ada. Misalnya, NavigationRail membantu pengembang menambahkan model navigasi aplikasi responsif ke aplikasi dan sangat bagus untuk aplikasi yang dapat beralih antara faktor bentuk seluler dan desktop. Widget luapan DatePicker dan TextSelection juga telah diperbarui: visual baru DatePicker sesuai dengan pedoman Material yang diperbarui dan menambahkan yang baru mode masukan teks, sedangkan TextSelection kini telah meningkatkan fidelitas untuk iOS dan Android ketika tombol lebih panjang daripada yang dapat ditampilkan tanpa meluap. Terakhir, Google juga mengirimkan Paket Animasi baru yang menyediakan animasi siap pakai yang mengimplementasikan yang baru Gerakan materi spesifikasi.
Perubahan lain di Flutter 1.17
- Google telah menyelesaikan penerapannya Bagian Skala Tipe dari spesifikasi Desain Material 2018 tanpa merusak aplikasi Flutter yang ada.
- Google Font untuk Flutter v1.0 kini juga tersedia. Hal ini memungkinkan pengembang bereksperimen dan menggunakan font apa pun font.google.com di aplikasi mereka. Pengembang dapat memutuskan apakah akan menggabungkan font tersebut dengan APK atau apakah pengguna menerima font tersebut dengan mendownloadnya dari API.
- Google telah meningkatkan aksesibilitas aplikasi Flutter dengan perbaikan pada pengguliran, bidang teks, dan widget masukan lainnya.
- Google juga bersiap untuk menukar versi Dart DevTools saat ini dengan versi Flutter yang baru. Pengembang dapat menguji versi baru ini dengan memulai DevTools dan kemudian mengklik ikon "pemutus" di pojok kanan atas DevTools. Peningkatan terbesar dalam Dart DevTools versi Flutter baru adalah tab Jaringan baru yang menampilkan lalu lintas jaringan untuk aplikasi Flutter Anda saat Anda menekan tombol "Rekam".
- Peningkatan lainnya adalah opsi eksperimental "mulai cepat" yang memungkinkan Anda memulai proses debug aplikasi Flutter hingga 70% lebih cepat saat Anda membuat aplikasi untuk Android.
Google juga memberikan dukungan kepada tim Superformula untuk merombak keseluruhannya Aplikasi Android MGM Resorts di Flutter.
Anak panah 2.8
Dart adalah bahasa pemrograman yang digunakan untuk membuat aplikasi di Flutter. Dengan dirilisnya Dart 2.8 SDK, Google memperkenalkan beberapa perubahan:
- Perbaikan pada pub alat klien, yang digunakan untuk mengelola paket yang diunduh dari repositori paket pub.dev.
- Google telah meningkatkan kinerja dapatkan pub dengan menambahkan dukungan untuk pengambilan paket secara paralel dan penundaan lari pub prakompilasi.
- Google juga telah menambahkan alat baru (pub ketinggalan jaman) untuk memastikan dependensi paket selalu diperbarui.
- Persiapan untuk keamanan Sound null, karena referensi null adalah sumber umum error aplikasi yang terjadi saat kode mencoba membaca variabel yang memiliki nilai null.
- Google sedang bersiap untuk menambahkan dukungan untuk keamanan nol yang baik di Dart, yang akan memastikan bahwa semua variabel yang dinyatakan memiliki nilai bukan nol.
- Menerapkan keamanan suara nol adalah upaya besar yang pada awalnya akan menyebabkan kerusakan pada bahasa dan perpustakaan Dart. Google ingin pengembang menyadarinya perubahan-perubahan yang merusak ini dan mengajukan masalah apa pun pada mereka pelacak masalah.
Anda dapat membaca selengkapnya tentang perubahan ini dan perubahan lainnya secara mendetail di postingan pengumuman untuk Flutter 1.17 dan Dart 2.8.