Se presentó Blueprint, un nuevo lenguaje de interfaz de usuario para GTK

James Westman, desarrollador de la aplicación GNOME Maps, presentó un nuevo lenguaje de marcado, Blueprint, diseñado para crear interfaces utilizando la biblioteca GTK. El código del compilador para convertir el marcado Blueprint en archivos GTK UI está escrito en Python y distribuido bajo la licencia LGPLv3.

El motivo para crear el proyecto es la vinculación de los archivos de descripción de la interfaz UI utilizados en GTK al formato XML, que está sobrecargado y no es conveniente para escribir o editar etiquetas manualmente. El formato Blueprint se distingue por una presentación clara de la información y, gracias a su sintaxis legible, permite prescindir del uso de editores de interfaz visual especializados al crear, editar y evaluar cambios en los elementos de la interfaz.

Al mismo tiempo, Blueprint no requiere cambios en GTK, replica completamente el modelo de widget GTK y se posiciona como un complemento que compila el marcado en el formato XML estándar para GtkBuilder. La funcionalidad de Blueprint es totalmente consistente con GtkBuilder, solo difiere el método de presentación de información. Para migrar un proyecto a Blueprint, simplemente agregue una llamada al compilador de blueprint al script de compilación sin cambiar el código. usando Gtk 4.0; plantilla MyAppWindow: Gtk.ApplicationWindow {título: _("Título de mi aplicación"); [barra de título] HeaderBar header_bar {} Etiqueta { estilos ["encabezado"] etiqueta: _("¡Hola, mundo!"); } }

Se presenta Blueprint: un nuevo lenguaje para crear interfaces de usuario para GTK

Además del compilador en el formato XML GTK estándar, también se está desarrollando un complemento con soporte Blueprint para el entorno de desarrollo integrado GNOME Builder. Se está desarrollando un servidor LSP (Language Server Protocol) independiente para Blueprint, que se puede utilizar para resaltar, analizar errores, mostrar sugerencias y completar código en editores de código que admitan LSP, incluido Visual Studio Code.

Los planes de desarrollo de planos incluyen la adición de elementos de programación reactiva al marcado, implementados utilizando la clase Gtk.Expression proporcionada en GTK4. El método propuesto es más familiar para los desarrolladores de interfaces web JavaScript y permite la sincronización automática de la presentación de la interfaz con el modelo de datos asociado, sin la necesidad de actualizar forzadamente la interfaz de usuario después de cada cambio de datos.

Fuente: opennet.ru

Añadir un comentario