Pembangunan UI yang cepat dengan Flutter untuk Windows

Terdapat banyak yang boleh dikatakan untuk alat yang memudahkan untuk menargetkan banyak platform dari satu pangkalan kode tunggal, mengurangkan beban pada pembangun dan meningkatkan jangkauan aplikasi anda. Microsoft Xamarin adalah contoh terbaik dari ini, memperluas .NET ke iOS dan Android. Tetapi bagaimana arah lain, di mana alat pengembangan mudah alih yang mapan menambahkan Windows sebagai platform baru?

Ia tidak kerap berlaku, tetapi yang mengejutkan ialah persekitaran pengembangan mudah alih Flutter Google menambah sasaran build baru di Windows, di samping sokongan yang ada untuk Android, iOS, macOS, Linux, dan web. Dengan siaran pengembangan terkini, anda kini dapat membuat aplikasi Flutter untuk Win32, menggunakan alat kawalan dan reka bentuk yang sama untuk menyampaikan kod desktop pada masa yang sama ketika anda membuat aplikasi mudah alih.

Menyasarkan Windows masuk akal untuk Google, kerana catatan blog pelepasan mencatat lebih daripada separuh pemaju Flutter menggunakan alat pengembangan Windows. Perkakas UI Flutter adalah kod asli dan kerana ia berfungsi dengan panggilan API Windows standard, anda boleh menggunakannya dengan kod baru atau yang ada.

Menggunakan Flutter pada Windows

Flutter dibina menggunakan versi terbaru bahasa Dart Google. Ini adalah bahasa seperti C dengan struktur yang mengingatkan pada JavaScript dan C #. Sekiranya anda datang dari latar belakang .NET, tidak banyak yang baru untuk dipelajari; konstruk bahasa akan biasa. Halangan masuk yang rendah adalah perkara yang baik, kerana anda harus bersedia untuk memulakan pengekodan dengan cepat.

Sokongan Windows Flutter bersifat eksperimental, jadi anda harus membuat beberapa perubahan pada pemasangan standard dari baris perintah. Mula-mula beralih ke saluran dev dan kemudian naik taraf untuk memastikan anda menjalankan pembangunan saluran dev terkini. Akhirnya, gunakan alat arahan Flutter baris untuk mengaktifkan sokongan desktop Windows. Setelah selesai, mulakan semula mana-mana editor terbuka. Anda boleh memastikan bahawa sokongan Windows diaktifkan dengan memeriksa peranti yang disambungkan; Windows akan muncul di sini. Adalah idea yang baik untuk menjalankan utiliti doktor Flutter untuk memeriksa bahawa semua kebergantungan yang sesuai dipasang, kerana ini akan memasang sebarang ciri yang hilang jika perlu.

Tidak seperti Flutter versi peranti mudah alih, versi desktop memerlukan Visual Studio 2019, dengan alat pengembangan desktop C ++. Anda masih boleh bekerja dalam Visual Studio Code jika anda mempunyai aplikasi Flutter mudah alih yang ada yang ingin anda bawa ke desktop, tetapi desktop Flutter perlu menggunakan penyusun Windows C ++ untuk membuat aplikasi Windows dengan semua perpustakaan sokongan yang diperlukan.

Menulis aplikasi Flutter pada Windows

Walaupun anda memerlukan alat C ++ Visual Studio, anda tetap mengedit dan membangun banyak aplikasi desktop Flutter anda dalam Visual Studio Code dengan plugin Flutter, beralih ke Visual Studio apabila anda perlu mengedit C ++ atau menggunakan Windows SDK. Membuat projek baru secara automatik akan menghasilkan perancah yang diperlukan untuk membina aplikasi desktop Windows di samping versi Android dan iOS lalai. Anda kemudian boleh mengedit kod aplikasi anda dalam fail main.dart umum, yang akan disusun ke dalam versi yang sesuai pada waktu build.

Kod Dart biasa kekal dalam folder lib. Folder Windows adalah tempat anda menulis kod khusus platform anda, menjauhkannya dari sebarang fungsi lintas platform. Pendekatan ini membolehkan anda memanfaatkan pelaburan sedia ada anda dalam kod dan API Windows menggunakan Saluran Platform Flutter untuk memberikan interoperabiliti antara kod Windows C ++ dan Flutter's Dart.

Alat Visual Studio Code Flutter dan Dart masih memerlukan Android Studio untuk dipasang, kerana diperlukan untuk membuat versi aplikasi Android anda. Sekiranya anda menggunakan aplikasi merentas platform, lebih baik menulis kod Android apa pun di Android Studio, menyimpan kod Kotlin ke dalam pohon kod Android aplikasi Flutter anda. Berkongsi struktur kod dengan cara ini masuk akal; sementara anda mempunyai pilihan untuk menggunakan Visual Studio Code untuk mengedit kod Windows C ++, Visual Studio IDE penuh mempunyai lebih banyak kemampuan dan sokongan perpustakaan yang lebih baik, menjadikannya persekitaran pengembangan yang lebih baik untuk kod yang perlu menggunakan Win32 SDK dan perpustakaan.

Menggunakan Windows SDK, API, dan perpustakaan dengan Flutter

Flutter direka untuk bekerja di sebilangan tumpukan pembangunan dan menawarkan dua laluan berbeza untuk bekerja dengan API asli Windows. Saluran platform pertama, menyediakan cara menyampaikan mesej dari Flutter UI ke API asli menggunakan plug-in platform sebagai pembungkus untuk API. Walaupun ini adalah kaedah yang diluluskan untuk bekerja melintasi batas timbunan, ia berasaskan mesej dan tidak segerak, jadi tidak sesuai untuk semua Windows API.

Sebagai alternatif, anda boleh menggunakan Antaramuka Fungsi Asingnya untuk membuat pautan terus ke perpustakaan asli dan menggunakan panggilan API-nya. Pendekatan ini mungkin merupakan cara terbaik untuk menyampaikan fungsi Windows ke aplikasi Flutter, kerana anda dapat menghubungkan terus ke kod yang ada atau baru secara langsung, dengan pautan statik atau dinamik. Kod asli perlu mempunyai simbol C yang tersedia supaya kod Flutter anda dapat menghubungkannya; mana-mana kod C ++ perlu mengeksportnya dalam format C melalui externpilihan.

Sebilangan besar perpustakaan SDK Windows sudah disusun, jadi anda perlu menggunakan pautan dinamik untuk memasukkannya ke dalam aplikasi Flutter anda. Gunakan DynamicLibrary.openfungsi Flutter untuk menambahkannya ke aplikasi anda, dan kemudian perlakukannya sama seperti yang anda lakukan dengan Flutter plug-in. Sebenarnya pasukan Flutter sudah mengusahakan plugin Win32 yang akan memberikan akses ke kebanyakan Windows API, siap digunakan dalam kod anda.

Alat untuk pengembangan UI yang cepat dan kolaboratif

Salah satu kelebihan alat pengembangan Flutter adalah pilihan tambah nilai panasnya. Anda boleh menjalankan salinan kod anda dan dilampirkan pada penyahpepijat, membuat perubahan pada kod, dan menekan butang tambah nilai panas di terminal Kod Visual Studio untuk memuat semula aplikasi tanpa mengubah keadaannya. Terdapat pilihan memulakan semula panas jika anda lebih suka memulakan dengan keadaan baru.

Mampu menukar UI atau logik perniagaan dengan cepat tanpa memulakan semula aplikasi adalah ciri yang sangat berguna untuk Flutter. Pengaturcaraan menjadi lebih interaktif, terutamanya jika anda bekerja di samping pereka atau pengguna akhir. Anda boleh bertanya apa yang berkesan, membuat perubahan yang dicadangkan dengan cepat, dan mendapatkan respons segera dari rakan kongsi pembangunan anda. Setelah anda bersedia untuk menerbitkan dan menyebarkan kod anda, anda menjalankan build untuk menghasilkan fail exe dengan semua DLL sokongan yang sesuai, siap dibungkus dengan pemasang pilihan anda.

Anda juga tidak terhad kepada Win32, kerana shell Flutter UWP sedang dalam pengembangan (dan telah digunakan untuk aplikasi Store). Hasilnya adalah lapisan UI merentas platform yang fleksibel dan kuat yang akan berfungsi dengan kod asli di pelbagai platform, yang berskala ke skrin PC yang lebih besar, berfungsi dengan Windows SDK moden dan lama, dan harus siap bekerja dengan Project Pertemuan semula semasa ia dilancarkan.