Flutter Engage Recap: Apa yang Baru di Flutter 2?
Rabu, 3 Maret 2021 lalu, Flutter menyelenggarakan acara online yaitu “Flutter Engage”. Acara ini menyampaikan beberapa pengumuman dan apa saja fitur terbaru yang ada di Flutter 2.0. Penasaran? Simak ke-7 updatenya.
Karakteristik Terbaru Flutter 2
Sejak versi 1.0 dirilis akhir 2018 lalu, Flutter telah menarik perhatian banyak kalangan developer. 4 karakteristik utama Flutter, antara lain:
- Beautiful
- Fast
- Productive
- Open
Dengan versi terbaru 2.0, Flutter menambahkan satu karakteristik lagi yaitu portable.
Awalnya Flutter digunakan untuk mengembangkan aplikasi cross-platform untuk Android dan iOS, kini tidak hanya terbatas pada perangkat mobile saja. Pada versi terbarunya, Flutter menambahkan tidak hanya satu melainkan 4 platform yang bisa menjalankan Flutter (Web, Windows, MacOS, dan juga Linux).
1. Flutter Web Now Stable
Pada versi sebelumnya atau 1.0, Flutter masih berstatus beta. Kini Flutter 2 akhirnya merilis Flutter for Web dan telah dinyatakan stable (layak digunakan untuk lingkungan production). Rilis awal ini berfokus pada tiga skenario aplikasi:
- Progressive Web Apps (PWAs)
- Single Page Apps (SPAs)
- Flutter mobile apps –> Web
Secara default Web sudah cross-platform, ditambah jumlah pengguna untuk aplikasi web juga termasuk yang paling besar. Hal ini memungkinkan developer dapat mengembangkan aplikasi dengan target pengguna yang lebih besar dibanding sebelumnya dan yang paling penting hanya membutuhkan satu codebase.
Versi stable menawarkan peningkatan performa dengan adanya render engine baru, yaitu CanvasKit yang dibangun dengan WebAssembly. Render engine ini menjadi opsi selain HTML yang telah ada sebelumnya.
Contoh penerapan website menggunakan Flutter dapat Anda cek pada tautan berikut:
2. macOS, Windows, & Linux Now Stable*
*under early release flag
Menariknya aplikasi Flutter tidak hanya dapat digunakan di platform mobile dan web saja, namun bisa juga di platform desktop. Dengan rilis terbaru kita bisa mem-build aplikasi Flutter menjadi file yang bisa dieksekusi oleh sebuah sistem operasi. Misalnya .dmg (macOS), .exe (Windows), dan .tar.gz (Linux).
Selain itu, Flutter juga bekerja sama dengan Ubuntu Canonical untuk menjadikan Linux sebagai first-class platform dari Flutter. Ini memungkinkan Flutter developer dapat membuat dan mem-publish aplikasinya untuk jutaan pengguna Linux. Kini Flutter SDK juga tersedia dalam snap (app store untuk Linux) sehingga instalasi Flutter untuk Linux menjadi lebih mudah.
Ke depannya, Flutter akan menjadi pilihan default untuk aplikasi desktop dan mobile yang dibuat oleh Canonical.
3. Microsoft Support for Foldable Devices
Di era yang semakin canggih dan serba digital, tren mobile phone semakin menantang bagi seorang developer. Salah satunya adalah foldable phone.
Namun jangan khawatir, Microsoft telah bekerja sama dengan Flutter untuk memberikan dukungan bagi developer yang ingin mengembangkan aplikasi, pada perangkat dengan dual screen (foldable screen).
API untuk foldable support sudah tersedia dan dapat kalian baca lebih detail pada blog berikut: https://devblogs.microsoft.com/surface-duo/Flutter-dual-screen-foldable/.
API ini bersifat open source sehingga kita bisa ikut memberikan feedback dan berkontribusi dengan memberikan pull request (PR).
4. Flutter on Embedded System
Tidak hanya 6 platform (Android, iOS, Web, Windows, macOS, & Linux) yang telah dibahas sebelumnya, pada acara ini Flutter juga mengumumkan rencana untuk membawa Flutter ke embedded system. Bersama Toyota — salah satu pembuat mobil terlaris di dunia — mereka ingin menghadirkan pengalaman digital terbaik untuk kendaraan dengan membangun infotainment system yang didukung oleh Flutter.
5. Google Pay Rewrites with Flutter
Sudah banyak perusahaan di dunia telah menggunakan Flutter, termasuk Grab, WeChat, Nubank, dll. Begitu pula dengan Google. Google memiliki banyak produk yang dikembangkan dengan Dart dan Flutter, seperti Stadia, Google One, dan Google Nest Hub.
Beberapa bulan lalu, Google Pay memutuskan untuk me-rewrite seluruh codebase aplikasi mereka yang berjalan di Android dan iOS menggunakan Flutter.
“Rewrite yang dilakukan memberikan hasil yang memuaskan. Jumlah baris kode turun dari 1.7 juta baris menjadi 1.1 juta baris (35%). Masing-masing engineer dinilai menjadi 20% lebih produktif sejak menggunakan Flutter. Selain itu, kode yang sebelumnya terpisah antara aplikasi Android dan iOS, sekarang hanya membutuhkan satu codebase Flutter memungkinkan efisiensi dalam pengembangan meningkat hingga 50%.” Peeyush Ranjan (VP Engineering, Google Pay).
6. Dart Sound Null Safety
Perlu diketahui Flutter ditulis dengan menggunakan bahasa Dart. Bahasa Dart inilah yang memungkinkan Flutter menjadi portable dan banyak digunakan di berbagai banyak platform.
Dart mengumumkan update secara signifikan pada versi terbaru 2.12. Versi ini adalah versi rilis terbesar sejak versi 2.0 dengan tambahan fitur sound null safety. Null safety membantu membatasi penggunaan null reference yang rawan menimbulkan bug dalam aplikasi.
Kelebihan fitur ini tidak akan menimbulkan eror pada versi lama, sehingga dapat digunakan bersamaan dengan kode lama, sambil mencicil untuk migrasi menggunakan null safety.
7. Google Mobile Ads SDK for Flutter
Flutter mengumumkan versi beta release untuk Google Mobile Ads SDK. SDK ini menggunakan AdMob dan AdManager untuk menawarkan berbagai format iklan ke dalam aplikasi. Dengan SDK, kita tidak hanya bisa mengembangkan aplikasi Flutter, namun juga mendapatkan penghasilan dengan menambahkan iklan ke dalam aplikasi yang kita buat.
Update lainnya terdapat beberapa layanan utama Firebase seperti: Authentication, Cloud Firestore, Cloud Functions, Cloud Messaging, Cloud Storage, dan Crashlytics. Update ini menambahkan dukungan null safety pada package-package tersebut.
Itulah beberapa pengumuman yang disampaikan pada sesi keynote Flutter Engage. Acara ini dapat teman-teman saksikan ulang di https://events.Flutter.dev/.
Selain keynote, ada banyak sesi lain yang disampaikan oleh engineer Flutter dan developer dari komunitas, untuk membantu developer dalam membuat aplikasi Flutter dengan lebih baik lagi.
Ada juga project showcase bernama Flutter Folio yang menunjukkan bagaimana Flutter sudah bisa berjalan di enam platform mobile, web, dan desktop.
Saksikan demo aplikasi dan source code-nya pada tautan berikut: https://Flutter.gskinner.com/.