Presentato Blueprint — un nuovo linguaggio per la creazione di interfacce utente per GTK

James Westman, sviluppatore dell'app GNOME Maps, ha presentato un nuovo linguaggio di markup chiamato Blueprint, progettato per costruire interfacce utilizzando la libreria GTK. Il codice del compilatore per convertire il markup di Blueprint in file ui GTK è scritto in Python e distribuito con licenza LGPLv3.

Tra i motivi alla base della creazione del progetto c'è la dipendenza dei file ui GTK per la descrizione delle interfacce dal formato XML, che è sovraccarico e non conveniente per scrivere o modificare il markup manualmente. Il formato Blueprint si distingue per la chiarezza nella presentazione delle informazioni e, grazie a una sintassi leggibile, consente di evitare l'uso di editor visivi specializzati nella creazione, modifica e valutazione delle modifiche agli elementi dell'interfaccia.

Blueprint non richiede modifiche a GTK, replica completamente il modello dei widget GTK e si propone come un'estensione che compila il markup nel formato XML standard per GtkBuilder. Le funzionalità di Blueprint corrispondono esattamente a quelle di GtkBuilder, differendo solo nel metodo di presentazione delle informazioni. Per convertire un progetto in Blueprint, è sufficiente aggiungere la chiamata blueprint-compiler nello script di build senza modificare il codice. using Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _(«My App Title»); [titlebar] HeaderBar header_bar {} Label { styles [«heading»] label: _(«Hello, world!»); } }

Presentato Blueprint - un nuovo linguaggio per la creazione di interfacce utente per GTK

Oltre al compilatore nel formato XML standard di GTK, è in fase di sviluppo anche un plugin con supporto per Blueprint per l'ambiente di sviluppo integrato GNOME Builder. Si sta sviluppando separatamente un server LSP (Language Server Protocol) per Blueprint, che potrà essere utilizzato per la sintassi, l'analisi degli errori, la visualizzazione di suggerimenti e il completamento automatico del codice negli editor di codice che supportano LSP, inclusi Visual Studio Code.

Tra i piani di sviluppo di Blueprint si segnala l'aggiunta nella markup di elementi di programmazione reattiva, implementati utilizzando la classe Gtk.Expression fornita in GTK4. Questo metodo è più familiare per gli sviluppatori di interfacce web in JavaScript e consente una sincronizzazione automatica della vista dell'interfaccia con il modello di dati associato, senza la necessità di aggiornare forzatamente l'interfaccia utente dopo ogni modifica dei dati.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster