Die Version 0.90 des Projekts Cambalache wurde veröffentlicht, das ein Werkzeug für die schnelle Entwicklung von Benutzeroberflächen für GTK 3 und GTK 4 entwickelt, unter Verwendung des MVC-Paradigmas und der Philosophie, dass das Datenmodell von größter Bedeutung ist. Im Gegensatz zu Glade bietet Cambalache Unterstützung für die Handhabung mehrerer Benutzeroberflächen innerhalb eines Projekts. Der Code ist in Python geschrieben und wird unter der Lizenz LGPLv2.1 bereitgestellt. Ein Paket im Flatpak-Format steht für die Installation zur Verfügung.
Cambalache ist unabhängig von GtkBuilder und GObject, bietet jedoch ein Datenmodell, das mit dem GObject-Typsystem kompatibel ist. Das Datenmodell kann mehrere Benutzeroberflächen gleichzeitig importieren und exportieren, unterstützt Objekte, Eigenschaften und Signale von GtkBuilder, ermöglicht das Rückgängigmachen und Wiederherstellen von Operationen (Undo / Redo) und bietet die Möglichkeit, den Befehlshistorie zu komprimieren. Zur Generierung des Datenmodells aus gir-Dateien steht das Tool cambalache-db zur Verfügung, und für die Generierung von GObject-Klassen aus den Datenmodelltabellen gibt es das Tool db-codegen.
Die Benutzeroberfläche kann auf der Grundlage von GTK 3 und GTK 4 generiert werden, abhängig von der im Projekt festgelegten Version. Um die Unterstützung für verschiedene GTK-Zweige zu gewährleisten, wird der Arbeitsbereich unter Zuhilfenahme des Broadway-Backends gebildet, das die Ausgabe der GTK-Bibliothek im Webbrowser rendert. Der Hauptprozess Cambalache bietet eine Bindung auf Basis von WebKit WebView, in der die Ausgabe des Prozesses Merengue, der direkt für die Darstellung der vom Benutzer erstellten Benutzeroberfläche zuständig ist, mit Broadway übertragen wird.
In der neuen Version wurde die Benutzeroberfläche von Cambalache auf die GTK 4-Bibliothek portiert. Das Widget-Verzeichnis wurde für das GNOME SDK 46 aktualisiert. Die Möglichkeiten zur Bindung von Aktionen an Kontextelemente und die Übersetzung von Tooltipps für Buttons wurden ausgeweitet. Die Vergabe der Nummer 0.90 nach den Versionen 0.1x erklärt sich durch die Annäherung an die Fertigstellung des Releases Cambalache 1.0.

Quelle: opennet.ru
