Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME

Proiectul GNOME a publicat prima lansare stabilă a bibliotecii Libadwaita, care include un set de componente pentru stilul interfeței cu utilizatorul care urmează GNOME HIG (Liniile directoare pentru interfața umană). Biblioteca include widget-uri și obiecte gata făcute pentru construirea de aplicații care respectă stilul general GNOME, a căror interfață poate fi ajustată adaptiv la ecrane de orice dimensiune. Codul bibliotecii este scris în C și este distribuit sub licența LGPL 2.1+.

Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME

Biblioteca libadwaita este folosită împreună cu GTK4 și include componente ale temei Adwaita utilizate în GNOME, care au fost mutate din GTK într-o bibliotecă separată. Codul libadwaita se bazează pe biblioteca libhandy și este poziționat pentru a înlocui această bibliotecă, care a fost creată inițial pentru a construi o interfață adaptabilă în platformele mobile bazate pe tehnologii GNOME și a fost perfecționată în mediul Phosh GNOME pentru smartphone-ul Librem 5.

Biblioteca include widget-uri standard care acoperă diverse elemente de interfață, cum ar fi liste, panouri, blocuri de editare, butoane, file, formulare de căutare, casete de dialog etc. Widgeturile propuse vă permit să creați interfețe universale care funcționează perfect atât pe ecrane mari de computere și laptopuri, cât și pe ecrane tactile mici ale smartphone-urilor. Interfața aplicației se modifică dinamic în funcție de dimensiunea ecranului și de dispozitivele de intrare disponibile. Biblioteca include, de asemenea, un set de stiluri Adwaita care aduc aspectul și senzația ghidurilor GNOME fără a fi nevoie de personalizare manuală.

Mutarea elementelor de stil GNOME într-o bibliotecă separată permite ca modificările specifice GNOME să fie dezvoltate separat de GTK, permițând dezvoltatorilor GTK să se concentreze asupra lucrurilor de bază și dezvoltatorilor GNOME să avanseze mai rapid și mai flexibil modificările de stil pe care le doresc, fără a afecta GTK în sine. Cu toate acestea, această abordare creează dificultăți pentru dezvoltatorii de medii de utilizator terță parte bazate pe GTK, care sunt forțați fie să folosească libadwaita și să se adapteze la caracteristicile GNOME și să-i reproducă designul, fie să dezvolte propria versiune a bibliotecii de stil GTK și să accepte apariția aplicațiilor GNOME eterogene în medii bazate pe biblioteci de stil terțe.

Principala plângere a dezvoltatorilor de framework-uri terți se referă la problemele legate de suprascrierea culorilor elementelor de interfață, dar dezvoltatorii libadwaita lucrează la furnizarea unui API pentru gestionarea flexibilă a culorilor, care va fi inclus într-o versiune viitoare. Printre problemele nerezolvate, este menționată și funcționarea corectă a widget-urilor de control prin gesturi doar pe ecrane tactile - pentru touchpad-uri, funcționarea corectă a unor astfel de widget-uri va fi asigurată ulterior, deoarece necesită modificări la GTK.

Schimbări majore în libadwaita în comparație cu libhandy:

  • Un set de stiluri complet reproiectat. Tema Adwaita folosită în GNOME a fost eliminată din GTK și modernizată, iar vechea temă a fost remediată în GTK sub numele „Implicit”. Una dintre cele mai vizibile diferențe dintre libadwaita și tema „Default” este schimbarea designului antetelor ferestrelor.
    Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME
  • Mecanismele de legare a culorilor la elemente și de schimbare a culorilor în timp ce aplicația rulează au fost schimbate (problemele se datorează faptului că libadwaita a trecut la SCSS, care necesită o reconstrucție pentru a schimba culorile). Pentru a schimba culorile elementelor, care de exemplu este necesar în GNOME Web pentru a marca trecerea la modul incognito, se folosește metoda propusă în sistemul de operare elementar și se bazează pe specificarea unei liste fixe de culori denumite prin „@define-color”. Cu toate acestea, culorile multor elemente de interfață sunt acum calculate în raport cu culoarea textului de bază și se modifică automat, ceea ce nu permite aplicațiilor să controleze complet schema de culori (dezvoltatorii lucrează pentru a elimina această limitare).
    Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOMELansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME
  • Calitatea afișajului a fost crescută atunci când se utilizează teme întunecate datorită evidențierii mai contrastante a elementelor. Culoarea de accent a fost făcută mai strălucitoare și a fost adăugată o altă culoare de evidențiere, care se poate schimba pentru temele întunecate și luminoase.
    Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOMELansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME
  • S-a adăugat o mare parte de noi clase de stil pentru utilizare în aplicații. De exemplu, „.pill” pentru butoanele mari rotunjite, capacitatea de a folosi „.flat” în GtkHeaderBar, „.accent” pentru setarea unei culori de accent în etichete, „.numeric” pentru tipografia de tabel, „.card” pentru utilizarea fundalului și umbră ca în liste.
    Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME
  • Fișierele SCSS monolitice mari sunt împărțite într-o colecție de fișiere de stil mai mici.
  • S-a adăugat API pentru setarea stilului de design întunecat și a modului de contrast ridicat.
    Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME
  • Documentația a fost reproiectată; setul de instrumente gi-docgen este acum folosit pentru a o genera.
    Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME
  • A fost adăugat un API de animație, care poate fi folosit pentru a crea efecte de tranziție atunci când înlocuiți o stare cu alta, precum și pentru a crea animație de primăvară.
    Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME
  • Pentru filele bazate pe AdwViewSwitcher, a fost adăugată capacitatea de a afișa etichete cu numărul de notificări nevizuite.
    Lansarea bibliotecii Libadwaita 1.0 pentru crearea de interfețe în stil GNOME
  • S-a adăugat clasa AdwApplication (subclasa GtkApplication) pentru a inițializa automat Libadwaita și a încărca stilurile.
  • A fost adăugată o selecție de widget-uri pentru a simplifica operațiunile standard: AdwWindowTitle pentru setarea titlului ferestrei, AdwBin pentru a simplifica crearea subclaselor copil, AdwSplitButton pentru butoanele combinate, AdwButtonContent pentru butoanele cu o pictogramă și o etichetă.
  • API curățat.

Sursa: opennet.ru

Adauga un comentariu