S'introdueix Blueprint, un nou llenguatge d'interfície d'usuari per a GTK

James Westman, desenvolupador de l'aplicació GNOME Maps, va presentar un nou llenguatge de marques, Blueprint, dissenyat per crear interfícies mitjançant la biblioteca GTK. El codi del compilador per convertir el marcatge de Blueprint en fitxers d'interfície d'usuari GTK està escrit en Python i es distribueix sota la llicència LGPLv3.

El motiu de la creació del projecte és la vinculació dels fitxers de descripció de la interfície d'usuari utilitzats a GTK al format XML, que està sobrecarregat i no és convenient per escriure o editar el marcatge manualment. El format Blueprint es distingeix per la seva clara presentació de la informació i, gràcies a la seva sintaxi llegible, permet prescindir de l'ús d'editors d'interfície visual especialitzats a l'hora de crear, editar i avaluar els canvis en els elements de la interfície.

Al mateix temps, Blueprint no requereix canvis a GTK, replica completament el model de widget de GTK i es posiciona com un complement que compila el marcatge en el format XML estàndard per a GtkBuilder. La funcionalitat de Blueprint és totalment coherent amb GtkBuilder, només el mètode de presentació de la informació és diferent. Per migrar un projecte a Blueprint, només cal que afegiu una crida al compilador de blueprint a l'script de compilació sense canviar el codi. utilitzant Gtk 4.0; template MyAppWindow: Gtk.ApplicationWindow { title: _("El meu títol de l'aplicació"); [barra de títol] HeaderBar header_bar {} Etiqueta { estils ["títol"] etiqueta: _("Hola, món!"); } }

S'ha presentat Blueprint: un nou llenguatge per crear interfícies d'usuari per a GTK

A més del compilador en el format estàndard GTK XML, també està en desenvolupament un connector amb suport de Blueprint per a l'entorn de desenvolupament integrat GNOME Builder. S'està desenvolupant un servidor LSP (Language Server Protocol) independent per a Blueprint, que es pot utilitzar per ressaltar, anàlisi d'errors, mostrar pistes i completar codi en editors de codi que admeten LSP, inclòs Visual Studio Code.

Els plans de desenvolupament del projecte inclouen l'addició d'elements de programació reactiu al marcatge, implementats mitjançant la classe Gtk.Expression proporcionada a GTK4. El mètode proposat és més familiar per als desenvolupadors d'interfícies web JavaScript i permet la sincronització automàtica de la presentació de la interfície amb el model de dades associat, sense necessitat d'actualitzar força la interfície d'usuari després de cada canvi de dades.

Font: opennet.ru

Afegeix comentari