Bevezettük a Blueprintet, a GTK új felhasználói felületének nyelvét

James Westman, a GNOME Maps alkalmazás fejlesztője egy új jelölőnyelvet, a Blueprintet mutatott be, amelyet a GTK-könyvtárat használó interfészek építésére terveztek. A Blueprint jelölések GTK UI-fájlokká konvertálására szolgáló fordítókód Pythonban van írva, és az LGPLv3 licenc alatt terjesztik.

A projekt létrehozásának oka a GTK-ban használt UI interfész leíró fájlok XML formátumhoz kötése, amely túlterhelt, és nem kényelmes a jelölések kézi írására vagy szerkesztésére. A Blueprint formátumot az információk áttekinthető megjelenítése jellemzi, és olvasható szintaxisának köszönhetően lehetővé teszi, hogy speciális vizuális interfész-szerkesztőket ne használjunk az interfészelemek létrehozása, szerkesztése és kiértékelése során.

Ugyanakkor a Blueprint nem igényel változtatásokat a GTK-n, teljesen lemásolja a GTK widget-modellt, és olyan kiegészítőként van elhelyezve, amely a jelöléseket a GtkBuilder szabványos XML formátumába fordítja. A Blueprint funkcionalitása teljes mértékben konzisztens a GtkBuilderrel, csak az információ megjelenítésének módja különbözik. A projekt Blueprintre való áttelepítéséhez egyszerűen adjon hozzá egy blueprint-fordító hívást a build szkripthez a kód megváltoztatása nélkül. Gtk 4.0 használatával; sablon MyAppWindow : Gtk.ApplicationWindow { title: _("Saját alkalmazás címe"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Hello, world!"); } }

Bemutatták a Blueprintet – egy új nyelvet a GTK felhasználói felületeinek létrehozásához

A szabványos GTK XML formátumú fordító mellett a GNOME Builder integrált fejlesztői környezetéhez Blueprint támogatással rendelkező plugin is fejlesztés alatt áll. A Blueprinthez külön LSP szervert (Language Server Protocol) fejlesztenek, amely kiemelésre, hibaelemzésre, tippek megjelenítésére és kódkiegészítésre használható az LSP-t támogató kódszerkesztőkben, beleértve a Visual Studio Code-ot is.

A tervfejlesztési tervek tartalmazzák a reaktív programozási elemek hozzáadását a jelöléshez, amelyet a GTK4-ben biztosított Gtk.Expression osztály segítségével valósítanak meg. A javasolt módszer jobban ismert a JavaScript webes felületek fejlesztői számára, és lehetővé teszi az interfész megjelenítésének automatikus szinkronizálását a kapcsolódó adatmodellel, anélkül, hogy minden adatváltozás után kényszeresen frissíteni kellene a felhasználói felületet.

Forrás: opennet.ru

Hozzászólás