Memperkenalkan Blueprint, bahasa antarmuka pengguna baru untuk GTK

James Westman, pengembang aplikasi Peta GNOME, memperkenalkan bahasa markup baru, Cetak Biru, yang dirancang untuk membangun antarmuka menggunakan perpustakaan GTK. Kode kompiler untuk mengonversi markup Blueprint menjadi file GTK UI ditulis dengan Python dan didistribusikan di bawah lisensi LGPLv3.

Alasan pembuatan proyek ini adalah pengikatan file deskripsi antarmuka UI yang digunakan di GTK ke format XML, yang kelebihan beban dan tidak nyaman untuk menulis atau mengedit markup secara manual. Format Cetak Biru dibedakan dari penyajian informasinya yang jelas dan, berkat sintaksisnya yang mudah dibaca, memungkinkan Anda melakukannya tanpa menggunakan editor antarmuka visual khusus saat membuat, mengedit, dan mengevaluasi perubahan elemen antarmuka.

Pada saat yang sama, Blueprint tidak memerlukan perubahan pada GTK, sepenuhnya mereplikasi model widget GTK dan diposisikan sebagai add-on yang mengkompilasi markup ke dalam format XML standar untuk GtkBuilder. Fungsi Blueprint sepenuhnya konsisten dengan GtkBuilder, hanya metode penyajian informasinya yang berbeda. Untuk memigrasikan proyek ke Blueprint, cukup tambahkan panggilan kompiler cetak biru ke skrip build tanpa mengubah kodenya. menggunakan Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("Judul Aplikasi Saya"); [bilah judul] HeaderBar header_bar {} Label { gaya ["heading"] label: _("Halo, dunia!"); } }

Cetak Biru diperkenalkan - bahasa baru untuk membangun antarmuka pengguna untuk GTK

Selain compiler ke dalam format XML GTK standar, sebuah plugin dengan dukungan Blueprint untuk lingkungan pengembangan terintegrasi GNOME Builder juga sedang dalam pengembangan. Server LSP terpisah (Protokol Server Bahasa) sedang dikembangkan untuk Cetak Biru, yang dapat digunakan untuk penyorotan, analisis kesalahan, menampilkan petunjuk dan penyelesaian kode dalam editor kode yang mendukung LSP, termasuk Visual Studio Code.

Rencana pengembangan cetak biru mencakup penambahan elemen pemrograman reaktif ke markup, diimplementasikan menggunakan kelas Gtk.Expression yang disediakan di GTK4. Metode yang diusulkan lebih familiar bagi pengembang antarmuka web JavaScript dan memungkinkan sinkronisasi otomatis presentasi antarmuka dengan model data terkait, tanpa perlu memperbarui antarmuka pengguna secara paksa setelah setiap perubahan data.

Sumber: opennet.ru

Tambah komentar