Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME

Il progetto GNOME ha pubblicato la prima versione stabile della libreria Libadwaita, che include una serie di componenti per lo stile dell'interfaccia utente che segue GNOME HIG (Human Interface Guideline). La libreria include widget e oggetti già pronti per la creazione di applicazioni conformi allo stile generale GNOME, la cui interfaccia può essere adattata in modo adattivo a schermi di qualsiasi dimensione. Il codice della libreria è scritto in C ed è distribuito sotto la licenza LGPL 2.1+.

Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME

La libreria libadwaita viene utilizzata insieme a GTK4 e include componenti del tema Adwaita utilizzato in GNOME, che sono stati spostati da GTK in una libreria separata. Il codice libadwaita si basa sulla libreria libhandy e si posiziona come successore di questa libreria, originariamente creata per costruire un'interfaccia adattiva in piattaforme mobili basate su tecnologie GNOME, ed è stata affinata nell'ambiente Phosh GNOME per lo smartphone Librem 5.

La libreria include widget standard che coprono vari elementi dell'interfaccia, come elenchi, pannelli, blocchi di modifica, pulsanti, schede, moduli di ricerca, finestre di dialogo, ecc. I widget proposti consentono di creare interfacce universali che funzionano perfettamente sia sui grandi schermi di PC e laptop, sia sui piccoli touch screen degli smartphone. L'interfaccia dell'applicazione cambia dinamicamente a seconda delle dimensioni dello schermo e dei dispositivi di input disponibili. La libreria include anche una serie di stili Adwaita che allineano l'aspetto alle linee guida GNOME senza la necessità di adattamenti manuali.

Lo spostamento degli elementi di stile GNOME in una libreria separata consente di sviluppare modifiche specifiche di GNOME separatamente da GTK, consentendo agli sviluppatori GTK di concentrarsi sugli elementi principali e agli sviluppatori GNOME di portare avanti in modo più rapido e flessibile le modifiche di stile desiderate senza influenzare GTK stessa. Tuttavia, questo approccio crea difficoltà agli sviluppatori di ambienti utente di terze parti basati su GTK, che sono costretti a utilizzare libadwaita e adattarsi alle funzionalità di GNOME e replicarne il design, oppure sviluppare la propria versione della libreria di stili GTK e accettare le comparsa di applicazioni GNOME eterogenee in ambienti basati su librerie di stili di terze parti.

La lamentela principale da parte degli sviluppatori di framework di terze parti riguarda i problemi con la sovrascrittura dei colori degli elementi dell'interfaccia, ma gli sviluppatori di libadwaita stanno lavorando per fornire un'API per la gestione flessibile del colore, che sarà inclusa in una versione futura. Tra i problemi irrisolti viene menzionato anche il corretto funzionamento dei widget di controllo gestuale solo sui touch screen: per i touchpad, il corretto funzionamento di tali widget verrà garantito in seguito, poiché richiedono modifiche a GTK.

Principali cambiamenti in libadwaita rispetto a libhandy:

  • Un set di stili completamente ridisegnato. Il tema Adwaita utilizzato in GNOME è stato rimosso da GTK e modernizzato, e il vecchio tema è stato corretto in GTK con il nome "Default". Una delle differenze più evidenti tra libadwaita e il tema "Default" è il cambiamento nel design delle intestazioni delle finestre.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Sono stati modificati i meccanismi per legare i colori agli elementi e cambiare i colori mentre l'applicazione è in esecuzione (i problemi sono dovuti al fatto che libadwaita è passata a SCSS, che richiede una ricostruzione per cambiare i colori). Per cambiare i colori degli elementi, che è richiesto ad esempio in GNOME Web per contrassegnare la transizione alla modalità di navigazione in incognito, viene utilizzato il metodo proposto nel sistema operativo elementare e si basa sulla specifica di un elenco fisso di colori con nome tramite "@define-color". Tuttavia, i colori di molti elementi dell'interfaccia vengono ora calcolati rispetto al colore del testo di base e cambiano automaticamente, il che non consente alle applicazioni di controllare completamente la combinazione di colori (gli sviluppatori stanno lavorando per eliminare questa limitazione).
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOMERilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • La qualità di visualizzazione è stata aumentata quando si utilizzano temi scuri grazie all'evidenziazione degli elementi con maggiore contrasto. Il colore principale è stato reso più luminoso ed è stato aggiunto un altro colore principale, che può cambiare per i temi scuri e chiari.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOMERilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Aggiunta gran parte di nuove classi di stile da utilizzare nelle applicazioni. Ad esempio, ".pill" per pulsanti arrotondati di grandi dimensioni, la possibilità di utilizzare ".flat" in GtkHeaderBar, ".accent" per impostare un colore in risalto nelle etichette, ".numeric" per la tipografia delle tabelle, ".card" per l'utilizzo dello sfondo e shadow come negli elenchi.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • I file SCSS monolitici di grandi dimensioni sono divisi in una raccolta di file di stile più piccoli.
  • Aggiunta API per impostare lo stile di design scuro e la modalità ad alto contrasto.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • La documentazione è stata rielaborata; il toolkit gi-docgen è ora utilizzato per generarla.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • È stata aggiunta un'API di animazione che può essere utilizzata per creare effetti di transizione quando si sostituisce uno stato con un altro, nonché per creare animazioni primaverili.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Per le schede basate su AdwViewSwitcher è stata aggiunta la possibilità di visualizzare le etichette con il numero di notifiche non visualizzate.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Aggiunta la classe AdwApplication (sottoclasse di GtkApplication) per inizializzare automaticamente Libadwaita e caricare gli stili.
  • È stata aggiunta una selezione di widget per semplificare le operazioni standard: AdwWindowTitle per impostare il titolo della finestra, AdwBin per semplificare la creazione di sottoclassi figlie, AdwSplitButton per pulsanti combinati, AdwButtonContent per pulsanti con icona ed etichetta.
  • API pulita.

Fonte: opennet.ru

Aggiungi un commento