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 un insieme di componenti per la progettazione dell'interfaccia utente, conforme alle linee guida GNOME HIG (Human Interface Guidelines). La libreria comprende widget e oggetti pronti all'uso per la creazione di applicazioni che seguono lo stile comune di GNOME, le cui interfacce possono adattarsi a schermi di qualsiasi dimensione. Il codice della libreria è scritto in C ed è distribuito con 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 i componenti del tema Adwaita di GNOME, che sono stati estratti da GTK e resi disponibili come libreria separata. Il codice di libadwaita è basato sulla libreria libhandy e si propone come il suo sostituto, inizialmente progettato per costruire interfacce adattive su piattaforme mobili basate su tecnologie GNOME, perfezionato nell'ambiente GNOME Phosh 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 versatili che funzionano in modo fluido sia su grandi schermi di PC e laptop che su piccoli schermi touch di smartphone. L'interfaccia delle applicazioni si adatta dinamicamente in base alle dimensioni dello schermo e ai dispositivi di input disponibili. La libreria include anche un set di stili Adwaita, che allineano l'aspetto alle linee guida GNOME, senza la necessità di adattamenti manuali.

La separazione degli elementi di design di GNOME in una libreria dedicata consente di sviluppare le modifiche necessarie per GNOME in modo indipendente da GTK, il che permette agli sviluppatori di GTK di concentrarsi sulle questioni fondamentali, mentre gli sviluppatori di GNOME possono implementare rapidamente e con flessibilità le modifiche stilistiche richieste, senza intaccare GTK stesso. Tuttavia, questo approccio crea difficoltà per gli sviluppatori di ambienti desktop di terze parti basati su GTK, che sono costretti a utilizzare libadwaita e adattarsi alle peculiarità di GNOME, replicando il suo design, o a sviluppare una propria versione della libreria di stili per GTK, accettando che le applicazioni GNOME appariranno eterogenee in ambienti basati su librerie di stile alternative.

Il principale malcontento degli sviluppatori di ambienti esterni riguarda i problemi con la ridifinizione dei colori degli elementi dell'interfaccia. Tuttavia, gli sviluppatori di libadwaita stanno lavorando per fornire un'API per la gestione flessibile dei colori, che verrà inclusa in uno dei prossimi rilasci. Tra i problemi non risolti si segnala anche il corretto funzionamento dei widget di controllo gestuale solo su schermi tattile: per i touchpad, il corretto funzionamento di tali widget sarà garantito in un secondo momento, in quanto richiede modifiche a GTK.

Principali modifiche in libadwaita rispetto a libhandy:

  • Set di stili completamente riprogettato. Il tema Adwaita utilizzato in GNOME è stato estratto da GTK e modernizzato, mentre il vecchio tema è stato fissato all'interno di GTK con il nome "Default". Tra le differenze più evidenti di libadwaita rispetto al tema "Default" c'è la modifica dell'aspetto delle intestazioni delle finestre.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • I meccanismi per l'assegnazione dei colori agli elementi e la loro modifica durante l'uso dell'applicazione sono stati aggiornati (i problemi sono legati al fatto che libadwaita è passato a SCSS, il quale richiede una ricompilazione per cambiare colore). Per modificare i colori degli elementi, come ad esempio è necessario in GNOME Web per passare alla modalità in incognito, è stato applicato un metodo proposto in elementary OS, basato sulla definizione di un elenco fisso di colori attraverso «@define-color». Ora i colori di molti elementi dell'interfaccia sono calcolati rispetto al colore di base del testo e cambiano automaticamente, limitando così il controllo totale delle applicazioni sulla schema dei 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à della visualizzazione è stata migliorata quando si utilizzano temi scuri, grazie a un'importante evidenziazione degli elementi. Il colore accentuato è diventato più luminoso e ne è stato aggiunto un altro per l'evidenziazione, che può variare tra il tema scuro e quello chiaro.
    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
  • È stata aggiunta una grande quantità di nuove classi di stile da utilizzare nelle applicazioni. Ad esempio, “.pill” per i pulsanti arrotondati di grandi dimensioni, la possibilità di utilizzare “.flat” in GtkHeaderBar, “.accent” per impostare il colore di accento nelle etichette, “.numeric” per la tipografia da tavolo, “.card” per utilizzare sfondi e ombre come nelle liste.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Grandi file SCSS monolitici sono stati suddivisi in una raccolta di file più piccoli con stili.
  • Aggiunta un'API per personalizzare il tema 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, ora generata utilizzando lo strumento gi-docgen.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Aggiunta un'API per l'animazione, che può essere utilizzata per creare effetti di transizione nel passaggio da uno stato all'altro, oltre a creare effetti a molla (spring animation).
    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 etichette con il numero di notifiche non lette.
    Rilascio della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Aggiunta la classe AdwApplication (sottoclasse di GtkApplication) per l'inizializzazione automatica di Libadwaita e il caricamento degli 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, AdwSplitButton per pulsanti combinati, AdwButtonContent per pulsanti con icona e etichetta.
  • È stata effettuata la pulizia dell'API.

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