Se ha publicado la versión del proyecto Cambalache 0.90, un herramienta para el desarrollo rápido de interfaces para GTK 3 y GTK 4, que utiliza la paradigmática MVC y la filosofía de la primacía del modelo de datos. A diferencia de Glade, en Cambalache se ofrece soporte para manejar múltiples interfaces de usuario en un solo proyecto. El código está escrito en Python y se entrega bajo la licencia LGPLv2.1. Está disponible un paquete en formato flatpak para la instalación.
Cambalache no depende de GtkBuilder y GObject, pero proporciona un modelo de datos que se ajusta al sistema de tipos de GObject. El modelo de datos puede importar y exportar múltiples interfaces a la vez, soporta objetos, propiedades y señales de GtkBuilder, ofrece una pila de operaciones de deshacer (Undo / Redo) y la posibilidad de comprimir el historial de comandos. Para generar el modelo de datos a partir de archivos gir, se proporciona la utilidad cambalache-db, y para generar clases GObject a partir de tablas del modelo de datos, la utilidad db-codegen.
La interfaz puede generarse en base a GTK 3 y GTK 4, dependiendo de la versión especificada en el proyecto. Para garantizar el soporte de diferentes ramas de GTK, la formación del espacio de trabajo se lleva a cabo con la ayuda del backend Broadway, que permite renderizar la salida de la biblioteca GTK en una ventana del navegador web. El proceso principal de Cambalache proporciona un envoltorio basado en WebKit WebView, en el cual se transmite la salida del proceso Merengue, que se encarga directamente de renderizar la interfaz creada por el usuario.
En la nueva versión se ha realizado la traducción de la interfaz de usuario de Cambalache a la biblioteca GTK 4. El catálogo de widgets ha sido actualizado para GNOME SDK 46. Se han ampliado las capacidades relacionadas con la asignación de acciones a elementos de los menús contextuales y la traducción de las sugerencias emergentes para los botones. La asignación del número 0.90 después de las versiones 0.1x se explica por la aproximación a la finalización del lanzamiento de Cambalache 1.0.

Fuente: opennet.ru
