Se presenta Blueprint — un nuevo lenguaje para construir interfaces de usuario para GTK

James Westman, desarrollador de la aplicación GNOME Maps, presentó un nuevo lenguaje de marcado llamado Blueprint, destinado a construir interfaces utilizando la biblioteca GTK. El código del compilador para convertir el marcado Blueprint en archivos ui de GTK está escrito en Python y se distribuye bajo la licencia LGPLv3.

La razón detrás de la creación del proyecto es la vinculación de los archivos ui utilizados en GTK al formato XML, que está sobrecargado y resulta incómodo para escribir o editar marcado manualmente. El formato Blueprint se caracteriza por la claridad en la presentación de la información y, gracias a su sintaxis legible, permite prescindir de editores visuales especializados al crear, editar y evaluar cambios en los elementos de la interfaz.

Blueprint no requiere modificaciones en GTK, replica completamente el modelo de widgets de GTK y se posiciona como una capa que compila el marcado en el formato XML estándar de GtkBuilder. Las funcionalidades de Blueprint son totalmente equivalentes a las de GtkBuilder, diferenciándose únicamente en el método de presentación de la información. Para migrar un proyecto a Blueprint, basta con añadir una llamada a blueprint-compiler en el script de construcción sin modificar el código. using Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _(«My App Title»); [titlebar] HeaderBar header_bar {} Label { styles [«heading»] label: _(«Hello, world!»); } }

Se presenta Blueprint: un nuevo lenguaje de construcción de interfaces de usuario para GTK

Además del compilador al formato XML estándar de GTK, también se está desarrollando un complemento con soporte para Blueprint para el entorno de desarrollo integrado GNOME Builder. Se está desarrollando por separado un servidor LSP (Language Server Protocol) para Blueprint, que se podrá usar para resaltado de sintaxis, análisis de errores, sugerencias y autocompletado de código en editores de código que soporten LSP, incluyendo Visual Studio Code.

Entre los planes para el desarrollo de Blueprint se destaca la incorporación de elementos de programación reactiva en el marcado, utilizando la clase Gtk.Expression, que se proporciona en GTK4. El método propuesto es más familiar para los desarrolladores de interfaces web en JavaScript y permite lograr la sincronización automática de la presentación de la interfaz con el modelo de datos relacionado, sin necesidad de actualizar manualmente la interfaz de usuario después de cada cambio en los datos.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster