È stata pubblicata la versione 0.90 del progetto Cambalache, uno strumento per la rapida sviluppo di interfacce per GTK 3 e GTK 4, che utilizza la parità MVC e la filosofia di importanza primaria del modello dei dati. A differenza di Glade, Cambalache offre supporto per la gestione di più interfacce utente all'interno di un unico progetto. Il codice è scritto in Python e rilasciato sotto licenza LGPLv2.1. È disponibile un pacchetto per l'installazione nel formato flatpak.
Cambalache non dipende da GtkBuilder e GObject, ma fornisce un modello di dati che corrisponde al sistema di tipi di GObject. Il modello di dati può importare ed esportare più interfacce contemporaneamente, supporta oggetti, proprietà e segnali di GtkBuilder, fornisce uno stack di operazioni per il ripristino (Undo / Redo) e la possibilità di comprimere la cronologia dei comandi. Per generare il modello di dati da file gir, è fornuto uno strumento chiamato cambalache-db, mentre per generare classi GObject dalle tabelle del modello di dati è fornito lo strumento db-codegen.
L'interfaccia può essere generata sulla base di GTK 3 e GTK 4, a seconda della versione specificata nel progetto. Per garantire il supporto di diverse branche di GTK, la formazione dell'area di lavoro è realizzata con l'ausilio del backend Broadway, che permette di visualizzare l'output della libreria GTK in una finestra del browser web. Il processo principale di Cambalache fornisce un wrapper basato su WebKit WebView, nel quale, attraverso Broadway, viene trasmesso l'output del processo Merengue, che si occupa in modo diretto del rendering dell'interfaccia creata dall'utente.
Nella nuova versione, l'interfaccia utente di Cambalache è stata tradotta nella libreria GTK 4. Il catalogo dei widget è stato aggiornato per GNOME SDK 46. Sono state ampliate le funzionalità relative all'associazione di azioni agli elementi dei menu contestuali e alla traduzione dei suggerimenti per i pulsanti. L'assegnazione del numero 0.90 dopo le versioni 0.1x spiega l'avvicinamento alla preparazione per il rilascio di Cambalache 1.0.

Fonte: opennet.ru
