Apa yang Baru di Wails v3
Wails v3 memperkenalkan perubahan signifikan dari v2. Wails v3 menggantikan API deklaratif single-window dengan pendekatan prosedural yang lebih fleksibel. Desain API baru ini meningkatkan keterbacaan kode dan menyederhanakan development, terutama untuk aplikasi multi-window yang kompleks.
Wails v3 mewakili evolusi substansial dalam cara aplikasi desktop dapat dibangun menggunakan Go dan teknologi web.
Multiple Windows
Section titled “Multiple Windows”Wails v3 memperkenalkan kemampuan untuk membuat dan mengelola banyak window dalam satu aplikasi. Fitur ini memungkinkan developer merancang antarmuka pengguna yang lebih kompleks dan serbaguna, melampaui keterbatasan aplikasi single-window.
Setiap window dapat dikonfigurasi secara independen, memberikan fleksibilitas dalam hal ukuran, posisi, konten, dan perilaku. Ini memungkinkan pembuatan aplikasi dengan window terpisah untuk fungsionalitas berbeda, seperti antarmuka utama, panel pengaturan, atau tampilan tambahan.
Developer dapat membuat, memanipulasi, dan mengelola window ini secara programatis, memungkinkan antarmuka pengguna dinamis yang beradaptasi terhadap kebutuhan pengguna dan state aplikasi.
Integrasi System Tray
Section titled “Integrasi System Tray”Wails v3 memperkenalkan dukungan robust untuk fungsionalitas system tray, memungkinkan aplikasi Anda mempertahankan kehadiran persisten di desktop pengguna. Fitur ini sangat berguna untuk aplikasi yang perlu berjalan di background atau menyediakan akses cepat ke fungsi utama.
Fitur utama integrasi system tray Wails v3 meliputi:
-
Window Attachment: Anda dapat mengasosiasikan window dengan ikon system tray. Saat diaktifkan, window ini akan di-center relatif terhadap posisi ikon, memberikan cara bagus untuk mengakses aplikasi dengan cepat.
-
Dukungan Menu Komprehensif: Buat menu kaya dan interaktif yang dapat diakses pengguna langsung dari ikon system tray. Ini memungkinkan aksi cepat tanpa perlu membuka window aplikasi penuh.
-
Tampilan Ikon Adaptif: Dukungan ikon light dan dark mode memastikan ikon system tray aplikasi tetap terlihat dan estetis di berbagai tema sistem. Template icon juga didukung di macOS.
Pembuatan bindings yang ditingkatkan
Section titled “Pembuatan bindings yang ditingkatkan”Wails v3 memperkenalkan peningkatan signifikan dalam cara bindings di-generate untuk proyek Anda. Bindings adalah lem yang menghubungkan backend Go ke frontend, memungkinkan komunikasi seamless antara keduanya.
Pembuatan binding sekarang dilakukan menggunakan static analyzer canggih yang secara radikal meningkatkan proses pembuatan binding. Analyzer menawarkan kecepatan yang ditingkatkan dan mempertahankan kualitas kode dengan mempertahankan komentar dan nama parameter.
Proses pembuatan binding telah disederhanakan, hanya memerlukan satu
perintah: wails3 generate bindings.
Sistem build yang ditingkatkan
Section titled “Sistem build yang ditingkatkan”Wails v3 memperkenalkan sistem build yang lebih fleksibel dan transparan, mengatasi keterbatasan pendahulunya. Di v2, proses build sebagian besar opaque dan sulit dikustomisasi, yang bisa membuat frustrasi developer yang menginginkan lebih kontrol atas proses build proyek mereka.
Semua heavy lifting yang dilakukan sistem build v2, seperti pembuatan icon dan pembuatan manifest, telah ditambahkan sebagai perintah tool di CLI. Kami menggabungkan Taskfile ke CLI untuk mengorkestrasi panggilan ini agar memberikan developer experience yang sama seperti v2. Namun, pendekatan ini membawa keseimbangan ultimate fleksibilitas dan kemudahan penggunaan karena Anda sekarang dapat menyesuaikan proses build sesuai kebutuhan.
Anda bahkan bisa memakai make jika itu yang Anda suka!
Events yang ditingkatkan
Section titled “Events yang ditingkatkan”Wails sekarang mengirim events untuk berbagai operasi runtime dan aktivitas sistem. Ini memungkinkan aplikasi Anda merespons events ini secara real-time. Selain itu, events lintas platform (common) tersedia, memungkinkan Anda menulis metode penanganan event konsisten yang berfungsi di sistem operasi berbeda.
Event hook dapat didaftarkan untuk menangani events spesifik secara sinkron. Berbeda dengan
method On, hook ini memungkinkan Anda membatalkan event jika diperlukan. Kasus penggunaan umum
adalah menampilkan dialog konfirmasi sebelum menutup window. Ini memberi
Anda lebih banyak kontrol atas alur event dan pengalaman pengguna.
Wails Markup Language (wml)
Section titled “Wails Markup Language (wml)”Fitur eksperimental untuk memanggil method runtime menggunakan plain html, mirip htmx.
Contoh
Section titled “Contoh”Lebih banyak contoh tersedia di direktori examples. Lihat mereka!