Blueprint wurde vorgestellt — eine neue Sprache zur Erstellung von BenutzeroberflĂ€chen fĂŒr GTK.

James Westman, Entwickler der GNOME Maps-Anwendung, hat eine neue Markup-Sprache namens Blueprint vorgestellt, die fĂŒr den Aufbau von BenutzeroberflĂ€chen mit der GTK-Bibliothek gedacht ist. Der Compiler-Code, der das Blueprint-Layout in GTK-UI-Dateien umwandelt, ist in Python geschrieben und wird unter der LGPLv3-Lizenz vertrieben.

Als Grund fĂŒr die Entwicklung des Projekts wird die Bindung der in GTK verwendeten UI-Beschreibungsdateien an das XML-Format genannt, das ĂŒberladen ist und sich nicht gut fĂŒr das manuelle Schreiben oder Bearbeiten von Layouts eignet. Das Blueprint-Format zeichnet sich durch eine anschauliche Darstellung der Informationen aus und ermöglicht es dank seiner lesbaren Syntax, auf spezielle visuelle BenutzeroberflĂ€chen-Editoren beim Erstellen, Bearbeiten und Bewerten von Änderungen an BenutzeroberflĂ€chenelementen zu verzichten.

Blueprint erfordert hierbei keine Änderungen an GTK, spiegelt vollstĂ€ndig das Widget-Modell von GTK wider und positioniert sich als eine Erweiterung, die das Layout in das standardmĂ€ĂŸige XML-Format von GtkBuilder compiliert. Die funktionalen Möglichkeiten von Blueprint entsprechen vollstĂ€ndig denen von GtkBuilder, nur die Informationsdarstellung unterscheidet sich. Um ein Projekt auf Blueprint zu migrieren, genĂŒgt es, den Aufruf von blueprint-compiler in das Build-Skript hinzuzufĂŒgen, ohne den Code zu Ă€ndern. using Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _(„My App Title“); [titlebar] HeaderBar header_bar {} Label { styles [„heading“] label: _(„Hallo, Welt!“); } }

Blueprint wurde vorgestellt – eine neue Sprache zur Erstellung von BenutzeroberflĂ€chen fĂŒr GTK

Neben dem Compiler fĂŒr das standardmĂ€ĂŸige XML-Format von GTK wird auch ein Plugin mit UnterstĂŒtzung fĂŒr Blueprint fĂŒr die integrierte Entwicklungsumgebung GNOME Builder entwickelt. Separat wird ein LSP-Server (Language Server Protocol) fĂŒr Blueprint entwickelt, der fĂŒr die Syntaxhervorhebung, Fehleranalyse, VorschlĂ€ge und die AutovervollstĂ€ndigung von Code in LSP-unterstĂŒtzenden Code-Editoren, einschließlich Visual Studio Code, verwendet werden kann.

Zu den EntwicklungsplĂ€nen fĂŒr Blueprint gehört die HinzufĂŒgung von Elementen reaktiver Programmierung in die Markup-Sprache, die mit der Klasse Gtk.Expression implementiert wird, die in GTK4 bereitgestellt wird. Die vorgeschlagene Methode ist fĂŒr Entwickler von WeboberflĂ€chen in JavaScript vertrauter und ermöglicht eine automatische Synchronisierung der BenutzeroberflĂ€che mit dem verknĂŒpften Datenmodell, ohne dass eine forcierte Aktualisierung der BenutzeroberflĂ€che nach jeder Änderung an den Daten erforderlich ist.

Quelle: opennet.ru

60GB SSD 8Gb DDR4