Programming in Flutter (SDK)

Flutter adalah perangkat pengembangan perangkat lunak UI sumber terbuka yang dibuat oleh Google. Ini digunakan untuk mengembangkan aplikasi lintas platform untuk Android, iOS, Linux, macOS, Windows, Google Fuchsia, dan web dari satu basis kode.


Pertama kali dijelaskan pada 2015, Flutter dirilis pada Mei 2017.


Sejarah


Versi pertama Flutter dikenal sebagai "Sky" dan berjalan di sistem operasi Android. Itu diresmikan pada KTT pengembang Dart 2015 dengan maksud yang dinyatakan untuk dapat merender secara konsisten pada 120 frame per detik. Selama keynote Hari Pengembang Google di Shanghai pada bulan September 2018, Google mengumumkan Pratinjau Rilis Flutter 2, rilis besar terakhir sebelum Flutter 1.0. Pada tanggal 4 Desember tahun itu, Flutter 1.0 dirilis pada acara Flutter Live, menunjukkan versi stabil pertama dari framework. Pada 11 Desember 2019, Flutter 1.12 dirilis di acara Flutter Interactive.



Pada tanggal 6 Mei 2020, Dart software development kit (SDK) versi 2.8 dan Flutter 1.17.0 dirilis, menambahkan dukungan untuk Metal API yang meningkatkan kinerja pada perangkat iOS sekitar 50%, serta widget Material baru dan pelacakan jaringan alat pengembangan.


Pada tanggal 3 Maret 2021, Google merilis Flutter 2 selama acara Flutter Engage online. Pembaruan besar ini menghadirkan dukungan resmi untuk aplikasi berbasis web dengan penyaji Canvas Kit baru dan widget khusus web, dukungan aplikasi desktop akses awal untuk Windows, macOS, dan Linux, serta API Add-to-App yang ditingkatkan. Rilis ini juga memanfaatkan Dart 2.0 yang menampilkan keamanan nol suara, yang menyebabkan banyak perubahan dan masalah dengan banyak paket eksternal; namun, tim Flutter menyertakan petunjuk dan alat untuk memitigasi masalah ini.


Pada 8 September 2021, Dart 2.14 dan Flutter 2.5 dirilis oleh Google. Pembaruan membawa peningkatan pada mode layar penuh Android dan versi terbaru Desain Material Google yang disebut Material You. Dart menerima dua pembaruan baru, menstandarkan kondisi serat dan menandai dukungan untuk Apple Silicon sebagai stabil.


Pada 12 Mei 2022, Google mengumumkan perilisan Flutter 3 dan Dart 2.17. Pembaruan ini memperluas jumlah total platform yang didukung menjadi enam, termasuk dukungan stabil untuk Linux dan macOS pada prosesor Intel dan Apple Silicon.


Pada 30 Agustus 2022, Flutter 3.3 diumumkan. Rilis ini menampilkan interop Objective-C dan Swift serta pratinjau awal dari mesin rendering baru yang disebut "Impeller" yang bertujuan untuk mengurangi kegagapan yang disebabkan oleh kompilasi shader.


Pada 25 Januari 2023, Flutter 3.7 diumumkan.


Arsitektur kerangka kerja


Komponen utama Flutter meliputi:


  • Platform panah
  • Mesin bergetar
  • perpustakaan yayasan
  • Widget khusus desain
  • Alat Pengembangan Flutter (DevTools)


Bahasa Dart


Aplikasi Flutter ditulis dalam bahasa Dart dan memanfaatkan banyak fitur bahasa yang lebih canggih.


Saat menulis dan men-debug aplikasi, Flutter berjalan di mesin virtual Dart, yang menampilkan mesin eksekusi tepat waktu. Ini memungkinkan waktu kompilasi yang cepat serta "hot reload", yang dengannya modifikasi file sumber dapat disuntikkan ke dalam aplikasi yang sedang berjalan. Flutter memperluas ini lebih jauh dengan dukungan untuk stateful hot reload, di mana dalam sebagian besar kasus, perubahan pada kode sumber langsung tercermin dalam aplikasi yang sedang berjalan tanpa perlu memulai ulang atau kehilangan status apa pun.


Untuk kinerja yang lebih baik, rilis versi aplikasi Flutter di semua platform menggunakan kompilasi sebelumnya (AOT), kecuali untuk di Web tempat kode ditranspilasi ke JavaScript.


Flutter mewarisi pengelola paket Dart Pub dan repositori perangkat lunak, yang memungkinkan pengguna memublikasikan dan menggunakan paket khusus serta plugin khusus Flutter.


Mesin Flutter


Mesin Flutter, yang ditulis terutama dalam C++, memberikan dukungan rendering tingkat rendah menggunakan pustaka grafis Skia Google atau lapisan grafis "Impeller" khusus. Selain itu, ini berinteraksi dengan SDK khusus platform seperti yang disediakan oleh Android dan iOS untuk mengimplementasikan aksesibilitas, I/O file dan jaringan, dukungan plugin asli, dan banyak lagi.


Pustaka Foundation


Pustaka Foundation, yang ditulis dalam Dart, menyediakan kelas dan fungsi dasar yang digunakan untuk membuat aplikasi menggunakan Flutter, seperti API untuk berkomunikasi dengan mesin.


Widget khusus desain


Framework Flutter berisi dua kumpulan widget yang sesuai dengan bahasa desain tertentu: widget Desain Material menerapkan bahasa desain Google dengan nama yang sama, dan widget Cupertino menerapkan panduan antarmuka Manusia iOS Apple. Flutter memungkinkan pengembang untuk menggunakan salah satu kumpulan widget di salah satu platform, bahkan widget Cupertino di Android. Paket pihak ketiga dapat digunakan untuk secara otomatis menyesuaikan desain aplikasi dengan sistem operasi saat ini.