Blueprint geïntroduceerd, een nieuwe gebruikersinterfacetaal voor GTK

James Westman, ontwikkelaar van de GNOME Maps-applicatie, introduceerde een nieuwe opmaaktaal, Blueprint, ontworpen voor het bouwen van interfaces met behulp van de GTK-bibliotheek. De compilercode voor het converteren van Blueprint-markeringen naar GTK UI-bestanden is geschreven in Python en gedistribueerd onder de LGPLv3-licentie.

De reden voor het maken van het project is de koppeling van de UI-interfacebeschrijvingsbestanden die in GTK worden gebruikt aan het XML-formaat, dat overbelast is en niet handig is voor het handmatig schrijven of bewerken van markeringen. Het Blueprint-formaat onderscheidt zich door de duidelijke presentatie van informatie en maakt het dankzij de leesbare syntaxis mogelijk om het gebruik van gespecialiseerde visuele interface-editors te missen bij het maken, bewerken en evalueren van wijzigingen in interface-elementen.

Tegelijkertijd vereist Blueprint geen wijzigingen aan GTK, repliceert het het GTK-widgetmodel volledig en is het gepositioneerd als een add-on die markup compileert in het standaard XML-formaat voor GtkBuilder. De functionaliteit van Blueprint komt volledig overeen met GtkBuilder, alleen de wijze van presenteren van informatie verschilt. Om een ​​project naar Blueprint te migreren, voegt u eenvoudigweg een blueprint-compiler-aanroep toe aan het buildscript zonder de code te wijzigen. met behulp van Gtk 4.0; sjabloon MyAppWindow: Gtk.ApplicationWindow { title: _("Mijn app-titel"); [titlebar] HeaderBar header_bar {} Label { stijlen ["heading"] label: _("Hallo wereld!"); } }

Blueprint geïntroduceerd - een nieuwe taal voor het bouwen van gebruikersinterfaces voor GTK

Naast de compiler in het standaard GTK XML-formaat is er ook een plug-in met Blueprint-ondersteuning voor de geïntegreerde ontwikkelomgeving GNOME Builder. Voor Blueprint wordt een aparte LSP-server (Language Server Protocol) ontwikkeld, die gebruikt kan worden voor highlighting, foutanalyse, weergave van hints en codeaanvulling in code-editors die LSP ondersteunen, waaronder Visual Studio Code.

Blauwdrukontwikkelingsplannen omvatten de toevoeging van reactieve programmeerelementen aan de markup, geïmplementeerd met behulp van de Gtk.Expression-klasse uit GTK4. De voorgestelde methode is meer bekend bij ontwikkelaars van JavaScript-webinterfaces en maakt automatische synchronisatie van de interfacepresentatie met het bijbehorende datamodel mogelijk, zonder de noodzaak om de gebruikersinterface na elke gegevenswijziging krachtig bij te werken.

Bron: opennet.ru

Voeg een reactie