Predstavljen Blueprint, nov jezik uporabniškega vmesnika za GTK

James Westman, razvijalec aplikacije GNOME Maps, je predstavil nov označevalni jezik, Blueprint, zasnovan za gradnjo vmesnikov z uporabo knjižnice GTK. Koda prevajalnika za pretvorbo oznake Blueprint v datoteke uporabniškega vmesnika GTK je napisana v Pythonu in se distribuira pod licenco LGPLv3.

Razlog za ustvarjanje projekta je vezava opisnih datotek uporabniškega vmesnika, ki se uporabljajo v GTK, na format XML, ki je preobremenjen in ni primeren za ročno pisanje ali urejanje oznak. Format Blueprint odlikuje jasna predstavitev informacij in zahvaljujoč berljivi sintaksi omogoča brez uporabe specializiranih urejevalnikov vizualnih vmesnikov pri ustvarjanju, urejanju in ocenjevanju sprememb elementov vmesnika.

Hkrati Blueprint ne zahteva sprememb v GTK, popolnoma posnema model pripomočka GTK in je postavljen kot dodatek, ki prevaja oznake v standardni format XML za GtkBuilder. Funkcionalnost Blueprinta je popolnoma skladna z GtkBuilderjem, razlikuje se le način podajanja informacij. Če želite preseliti projekt v Blueprint, preprosto dodajte klic prevajalnika načrta v skript za gradnjo, ne da bi spremenili kodo. z uporabo Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("Naslov moje aplikacije"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Hello, world!"); }}

Predstavljen je Blueprint - nov jezik za izdelavo uporabniških vmesnikov za GTK

Poleg prevajalnika v standardni format GTK XML je v razvoju tudi vtičnik s podporo za Blueprint za integrirano razvojno okolje GNOME Builder. Za Blueprint se razvija ločen strežnik LSP (Language Server Protocol), ki se lahko uporablja za označevanje, analizo napak, prikazovanje namigov in dokončanje kode v urejevalnikih kode, ki podpirajo LSP, vključno s kodo Visual Studio.

Načrti za razvoj načrta vključujejo dodajanje elementov reaktivnega programiranja označevanju, ki se izvaja z uporabo razreda Gtk.Expression, ki je na voljo v GTK4. Predlagana metoda je bolj poznana razvijalcem spletnih vmesnikov JavaScript in omogoča samodejno sinhronizacijo predstavitve vmesnika s pripadajočim podatkovnim modelom, ne da bi bilo treba po vsaki spremembi podatkov prisilno posodobiti uporabniški vmesnik.

Vir: opennet.ru

Dodaj komentar