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
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
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
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
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
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)
Fitur eksperimental untuk memanggil method runtime menggunakan plain html, mirip
htmx.
Contoh
Lebih banyak contoh tersedia di direktori
examples.
Lihat mereka!