Ngenalake Blueprint, basa antarmuka panganggo anyar kanggo GTK

James Westman, pangembang aplikasi GNOME Maps, ngenalake basa markup anyar, Blueprint, sing dirancang kanggo mbangun antarmuka nggunakake perpustakaan GTK. Kode kompiler kanggo ngowahi markup Blueprint dadi file GTK UI ditulis nganggo Python lan disebarake miturut lisensi LGPLv3.

Alesan kanggo nggawe proyek kasebut yaiku ikatan file deskripsi antarmuka UI sing digunakake ing GTK menyang format XML, sing kakehan beban lan ora trep kanggo nulis utawa nyunting markup kanthi manual. Format Blueprint dibedakake kanthi presentasi informasi sing jelas lan, amarga sintaks sing bisa diwaca, bisa ditindakake tanpa nggunakake editor antarmuka visual khusus nalika nggawe, nyunting lan ngevaluasi owah-owahan ing unsur antarmuka.

Ing wektu sing padha, Blueprint ora mbutuhake owah-owahan ing GTK, rampung niru model widget GTK lan dipanggonke minangka add-on sing nyusun markup menyang format XML standar kanggo GtkBuilder. Fungsi Blueprint konsisten karo GtkBuilder, mung cara nampilake informasi sing beda. Kanggo migrasi proyek menyang Blueprint, mung nambah panggilan blueprint-compiler menyang script mbangun tanpa ngganti kode. nggunakake Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("My App Title"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Hello, world!"); }}

Blueprint dikenalakΓ© - basa anyar kanggo mbangun antarmuka panganggo kanggo GTK

Saliyane kompiler menyang format XML GTK standar, plugin kanthi dhukungan Blueprint kanggo lingkungan pangembangan terpadu GNOME Builder uga dikembangake. Server LSP sing kapisah (Language Server Protocol) dikembangake kanggo Blueprint, sing bisa digunakake kanggo nyorot, analisis kesalahan, nampilake petunjuk lan completion kode ing editors kode sing ndhukung LSP, kalebu Visual Studio Code.

Rencana pangembangan cetak biru kalebu tambahan unsur pemrograman reaktif menyang markup, dileksanakake nggunakake kelas Gtk.Expression sing kasedhiya ing GTK4. Cara sing diusulake luwih akrab karo pangembang antarmuka web JavaScript lan ngidini sinkronisasi otomatis presentasi antarmuka karo model data sing gegandhengan, tanpa kudu nganyari antarmuka pangguna kanthi paksa sawise saben owah-owahan data.

Source: opennet.ru

Add a comment