A introdus Blueprint, o nouă limbă de interfață cu utilizatorul pentru GTK

James Westman, dezvoltatorul aplicației GNOME Maps, a introdus un nou limbaj de marcare, Blueprint, conceput pentru construirea de interfețe folosind biblioteca GTK. Codul compilatorului pentru conversia marcajului Blueprint în fișiere GTK UI este scris în Python și distribuit sub licența LGPLv3.

Motivul creării proiectului este legarea fișierelor de descriere a interfeței UI utilizate în GTK la formatul XML, care este supraîncărcat și nu este convenabil pentru scrierea sau editarea manuală a markupurilor. Formatul Blueprint se distinge prin prezentarea clară a informațiilor și, datorită sintaxei sale lizibile, face posibil să se facă fără utilizarea unor editori de interfață vizuală specializați la crearea, editarea și evaluarea modificărilor elementelor de interfață.

În același timp, Blueprint nu necesită modificări la GTK, reproduce complet modelul de widget GTK și este poziționat ca un program de completare care compilează marcajul în formatul standard XML pentru GtkBuilder. Funcționalitatea Blueprint este pe deplin în concordanță cu GtkBuilder, doar metoda de prezentare a informațiilor diferă. Pentru a migra un proiect la Blueprint, trebuie doar să adăugați un apel al compilatorului de blueprint la scriptul de compilare fără a schimba codul. folosind Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("Titlul aplicației mele"); [bara de titlu] HeaderBar header_bar {} Etichetă { stiluri ["titlu"] etichetă: _("Bună, lume!"); } }

A fost introdus Blueprint - un nou limbaj pentru construirea de interfețe cu utilizatorul pentru GTK

Pe lângă compilatorul în formatul standard GTK XML, este în curs de dezvoltare și un plugin cu suport Blueprint pentru mediul de dezvoltare integrat GNOME Builder. Un server LSP separat (Language Server Protocol) este în curs de dezvoltare pentru Blueprint, care poate fi folosit pentru evidențierea, analiza erorilor, afișarea indicațiilor și completarea codului în editorii de cod care acceptă LSP, inclusiv Visual Studio Code.

Planurile de dezvoltare a modelului includ adăugarea de elemente de programare reactive la marcaj, implementate folosind clasa Gtk.Expression furnizată în GTK4. Metoda propusă este mai familiară dezvoltatorilor de interfețe web JavaScript și permite sincronizarea automată a prezentării interfeței cu modelul de date asociat, fără a fi necesară actualizarea forțată a interfeței cu utilizatorul după fiecare modificare a datelor.

Sursa: opennet.ru

Adauga un comentariu