Agefouert Blueprint, eng nei User Interface Sprooch fir GTK

James Westman, Entwéckler vun der GNOME Maps Applikatioun, huet eng nei Markupsprooch agefouert, Blueprint, entwéckelt fir Interfaces mat der GTK Bibliothéik ze bauen. De Compiler Code fir Blueprint Markup an GTK UI Dateien ze konvertéieren ass am Python geschriwwen a verdeelt ënner der LGPLv3 Lizenz.

De Grond fir de Projet ze kreéieren ass d'Verbindung vun den UI Interface Beschreiwungsdateien, déi am GTK benotzt ginn, zum XML-Format, dat iwwerlaascht ass an net praktesch ass fir d'Markup manuell ze schreiwen oder z'änneren. De Blueprint-Format ënnerscheet sech duerch seng kloer Presentatioun vun Informatioun an, dank senger liesbarer Syntax, mécht et méiglech ouni d'Benotzung vu spezialiséierte visuellen Interface Editoren ze maachen wann Dir Ännerunge vun Interface Elementer erstellt, editéiert an evaluéiert.

Zur selwechter Zäit erfuerdert Blueprint keng Ännerunge fir GTK, replizéiert den GTK Widget Modell komplett a gëtt als Add-on positionéiert deen Markup an de Standard XML Format fir GtkBuilder kompiléiert. D'Funktionalitéit vum Blueprint ass voll konsequent mat GtkBuilder, nëmmen d'Method fir Informatioun ze presentéieren ënnerscheet sech. Fir e Projet op Blueprint ze migréieren, füügt just e Blueprint-Compiler Uruff un de Build Skript un ouni de Code z'änneren. benotzt Gtk 4.0; Template MyAppWindow : Gtk.ApplicationWindow { title: _("My App Title"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] Label: _("Hallo, Welt!"); } }

Blueprint agefouert - eng nei Sprooch fir Benotzerinterfaces fir GTK ze bauen

Zousätzlech zum Compiler an de Standard GTK XML Format ass e Plugin mat Blueprint Support fir d'GNOME Builder integréiert Entwécklungsëmfeld och an der Entwécklung. En separaten LSP-Server (Language Server Protocol) gëtt fir Blueprint entwéckelt, dee ka benotzt ginn fir Highlight, Fehleranalyse, Hiweiser ze weisen an Code-Fäerdegstellung a Code Editoren déi LSP ënnerstëtzen, dorënner Visual Studio Code.

Blueprint Entwécklungspläng enthalen d'Additioun vu reaktive Programméierungselementer zum Markup, implementéiert mat der Gtk.Expression Klass, déi am GTK4 geliwwert gëtt. Déi proposéiert Method ass méi vertraut fir Entwéckler vu JavaScript Web-Interfaces an erlaabt eng automatesch Synchroniséierung vun der Interface Presentatioun mat dem assoziéierten Datemodell, ouni datt d'Benotzerinterface no all Datenännerung kräfteg aktualiséiert gëtt.

Source: opennet.ru

Setzt e Commentaire