Uscita 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 comprende un insieme di componenti per lo stile dell'interfaccia utente, in conformità con le raccomandazioni GNOME HIG (Human Interface Guidelines). La libreria include widget e oggetti pronti all'uso per la creazione di applicazioni che aderiscono allo stile generale di GNOME, con interfacce in grado di adattarsi in modo flessibile a schermi di qualsiasi dimensione. Il codice della libreria è scritto in linguaggio C e distribuito sotto licenza LGPL 2.1+.

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

La libreria libadwaita è utilizzata insieme a GTK4 e include i componenti del tema Adwaita di GNOME, che sono stati estratti da GTK in una libreria separata. Il codice di libadwaita si basa sulla libreria libhandy e si posiziona come l'erede di quest'ultima, inizialmente creata per costruire interfacce adattive su piattaforme mobili utilizzando tecnologie GNOME, affinata 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 editing, pulsanti, schede, moduli di ricerca, finestre di dialogo e altro. I widget proposti consentono di creare interfacce universali, che funzionano bene sia su grandi schermi di PC e laptop, sia su piccoli schermi touch di smartphone. L'interfaccia delle applicazioni cambia dinamicamente a seconda delle dimensioni dello schermo e dei dispositivi di input disponibili. La libreria include anche un insieme di stili Adwaita, che allineano l'aspetto alle raccomandazioni di GNOME, senza necessità di eseguire adattamenti manuali.

L'estrazione degli elementi di design di GNOME in una libreria separata consente di sviluppare le modifiche necessarie per GNOME separatamente da GTK, dando così la possibilità ai programmatori di GTK di concentrarsi sulle questioni fondamentali, mentre gli sviluppatori di GNOME possono progredire più rapidamente e con maggiore flessibilità nei cambiamenti stilistici richiesti, senza influenzare il kernel di GTK. Tuttavia, questo approccio crea difficoltà per gli sviluppatori di ambienti desktop di terze parti basati su GTK, che devono scegliere tra utilizzare libadwaita e adattarsi alle caratteristiche di GNOME, replicandone il design, oppure sviluppare una propria versione della libreria di stili per GTK, accettando che le applicazioni GNOME appariranno disomogenee in ambienti basati su librerie di stili alternative.

Il principale malcontento degli sviluppatori di ambienti alternativi riguarda le difficoltà di ridefinizione dei colori degli elementi dell'interfaccia, ma gli sviluppatori di libadwaita stanno lavorando per fornire un'API per la gestione flessibile dei colori, che sarà inclusa in una delle prossime versioni. Tra le problematiche irrisolte c'è anche il corretto funzionamento dei widget di controllo touch solo su schermi sensibili al tocco: per i touchpad, il corretto funzionamento di tali widget sarà garantito in un secondo momento, poiché richiede modifiche a GTK.

Le principali novità 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 bloccato in GTK con il nome 'Default'. Tra le differenze più notevoli, libadwaita presenta un cambiamento nell'aspetto delle intestazioni delle finestre.
    Uscita della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Sono stati modificati i meccanismi di legame dei colori agli elementi e di cambiamento dei colori durante l'uso dell'applicazione (i problemi sono legati al fatto che libadwaita è passato a SCSS, il quale richiede una ricompilazione per cambiare il colore). Per modificare i colori degli elementi, come ad esempio richiesto in GNOME Web per contrassegnare il passaggio alla modalità incognito, è stato adottato un metodo proposto in elementary OS, basato sulla definizione di un elenco fisso di colori nominati tramite '@define-color'. Pertanto, i colori di molti elementi dell'interfaccia sono ora calcolati rispetto al colore di base del testo e cambiano automaticamente, il che non consente alle applicazioni di controllare completamente lo schema dei colori (gli sviluppatori stanno lavorando per eliminare questa limitazione).
    Uscita della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOMEUscita della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Migliorata la qualità della visualizzazione quando si utilizzano temi scuri, grazie a un'evidenziazione degli elementi più contrastante. Il colore di accento è stato reso più vivido e ne è stato aggiunto un altro per l'evidenziazione, che può variare tra il tema scuro e quello chiaro.
    Uscita della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOMEUscita della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Aggiunta una maggiore quantità di nuove classi di stili per l'uso nelle applicazioni. Ad esempio, '.pill' per grandi pulsanti arrotondati, possibilità di usare '.flat' in GtkHeaderBar, '.accent' per impostare il colore di accentuazione nelle etichette, '.numeric' per la tipografia tabellare, '.card' per l'uso di sfondi e ombre come nelle liste.
    Uscita della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Grandi file SCSS monolitici sono stati suddivisi in una collezione di file di stili più piccoli.
  • Aggiunto un API per la personalizzazione dello stile scuro e della modalità ad alta contrasto.
    Uscita della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Documentazione riprogettata, per la generazione della quale ora viene utilizzato lo strumento gi-docgen.
    Uscita della libreria Libadwaita 1.0 per la creazione di interfacce in stile GNOME
  • Aggiunto un API per l'animazione, che può essere utilizzata per creare effetti di transizione durante la sostituzione di uno stato con un altro, oltre a effetti di rimbalzo (spring animation).
    Uscita 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.
    Uscita 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.
  • Aggiunta una selezione di widget per semplificare le operazioni comuni: AdwWindowTitle per impostare il titolo della finestra, AdwBin per facilitare la creazione di sottoclassi, AdwSplitButton per pulsanti combinati, AdwButtonContent per pulsanti con icona e etichetta.
  • Pulizia dell'API effettuata.

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