Na conferência GUADEC 2021 foi apresentado o Cambalache, uma nova ferramenta para o rápido desenvolvimento de interfaces para GTK 3 e GTK 4, que utiliza a paradigma MVC e a filosofia de prioridade para o modelo de dados. Uma das diferenças mais notáveis em relação ao Glade é o suporte à criação de múltiplas interfaces de usuário em um único projeto. O código do projeto é escrito em Python e é fornecido sob a licença GPLv2.
Para garantir o suporte a várias versões do GTK, a formação do espaço de trabalho é realizada com a utilização do backend Broadway, que permite renderizar a saída da biblioteca GTK em uma janela do navegador. O processo principal do Cambalache fornece um vínculo com o WebKit WebView, onde a saída do processo Merengue, que se ocupa diretamente da renderização da interface criada pelo usuário, é transmitida através do Broadway. A interface pode ser gerada com base no GTK 3 ou GTK 4, dependendo da versão definida no projeto.

O Cambalache não depende do GtkBuilder e GObject, mas fornece um modelo de dados que corresponde ao sistema de tipos do GObject. O modelo de dados pode importar e exportar múltiplas interfaces de uma só vez, suporta objetos, propriedades e sinais do GtkBuilder, oferece uma pilha de operações para desfazer/refazer (Undo/Redo) e a possibilidade de compactar o histórico de comandos. Para gerar o modelo de dados a partir de arquivos gir, existe a ferramenta cambalache-db, e para gerar classes GObject a partir de tabelas de modelo de dados, a ferramenta db-codegen.

Fonte: opennet.ru
