Cambalache 1.0 il primo traguardo importante del nuovo editor WYSIWYG

Cambalache raggiunge finalmente la versione 1.0, un traguardo che arriva dopo più di cinque anni di lavoro, quasi duemila commit e migliaia di righe di codice Python.

L’autore considera questa release come il momento in cui l’applicazione è abbastanza matura da essere usata quotidianamente dagli sviluppatori Gtk, offrendo un ambiente stabile, completo e progettato per semplificare la creazione di interfacce grafiche.

Il nome, volutamente particolare, richiama un termine sudamericano che indica un negozio dell’usato o un luogo caotico, e vuole sottolineare l’origine geografica del progetto e incoraggiare la partecipazione della comunità latinoamericana al software libero. L’obiettivo principale è chiaro: evitare agli sviluppatori la scrittura manuale dei file GtkBuilder, offrendo un editor visuale che rispetta le logiche e le strutture del toolkit.

L’architettura dell’applicazione è costruita attorno al modello MVC. Il modello dati è un database SQLite che rappresenta il sistema di tipi GObject e gestisce anche la cronologia delle modifiche tramite trigger. Le informazioni sui widget provengono dai file di introspezione e vengono raccolte in cataloghi caricati all’avvio. La parte più delicata, il workspace, gira in un processo separato chiamato Merengue, che ospita i widget in anteprima tramite un compositore Wayland integrato. Questa scelta evita crash dell’intera applicazione quando un widget presenta comportamenti problematici durante la modifica.

L’interfaccia principale è una normale applicazione Gtk 4 che permette di gestire più file, modificare proprietà, segnali e impostazioni di accessibilità. L’impostazione ricorda volutamente Glade, sia per continuità sia per ottimizzare il tempo di sviluppo. I cataloghi dei widget, invece, sono file XML che descrivono tipi, proprietà, segnali, enumerazioni e interfacce, generati tramite strumenti dedicati.

Il workflow ruota attorno ai progetti, che possono contenere più file UI, template, risorse e fogli di stile. L’utente può creare un nuovo progetto, importare file esistenti o caricare intere directory. Le impostazioni del progetto permettono di selezionare librerie aggiuntive, come i widget Adwaita, e di definire percorsi per i temi di icone necessari all’anteprima.

La creazione dei widget avviene tramite un selettore organizzato per categorie: finestre e dialoghi, layout, controlli, elementi di visualizzazione e modelli dati. I placeholder facilitano l’inserimento dei widget nei contenitori, mentre l’editor laterale permette di configurare ogni dettaglio dell’oggetto selezionato. I template Gtk sono pienamente supportati, consentendo di definire componenti riutilizzabili che si comportano come nuovi tipi all’interno del progetto.

Cambalache gestisce anche i file GResources, permettendo di definire risorse, prefissi e file associati, utili per l’anteprima e per la struttura finale dell’applicazione. Il supporto ai fogli di stile CSS consente di visualizzare immediatamente l’effetto delle regole grafiche, con la possibilità di importare o creare più file e controllarne il caricamento.

La versione 1.0 introduce numerose novità: un manuale di base, cataloghi aggiornati allo SDK 50, supporto a GtkExpression, Blueprint, miglioramenti all’editor CSS, nuove finestre di progetto e donazione, anteprima GResource nel workspace, workspace scorrevole, monitoraggio dei file modificati esternamente e supporto a nuovi tipi come GIcon e GdkCursor. Sono state aggiornate anche molte traduzioni, tra cui portoghese brasiliano, rumeno, cinese semplificato e svedese.

Il progetto continua a evolversi: l’autore intende migliorare l’integrazione del workspace, ripulire il codice e produrre documentazione per facilitare i contributi. La comunità Gtk e wlroots ha avuto un ruolo importante nello sviluppo, insieme ai traduttori e ai tester che hanno accompagnato il progetto fino a questo primo grande traguardo.

Installare Cambalache 1.0

Cambalache 1.0 è disponibile su Flathub o direttamente dal repository GitLab, e rappresenta oggi uno degli strumenti più promettenti per chi sviluppa applicazioni Gtk moderne, offrendo un ambiente visuale potente, stabile e profondamente integrato con le tecnologie del toolkit.

Home Cambalache

Lascia un commento