Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen

GNOME-projekti on julkaissut ensimmäisen vakaan julkaisun Libadwaita-kirjastosta, joka sisältää joukon komponentteja käyttöliittymän muotoiluun, joka noudattaa GNOME HIG (Human Interface Guidelines) -ohjeita. Kirjasto sisältää valmiita widgetejä ja objekteja yleistä GNOME-tyyliä vastaavien sovellusten rakentamiseen, joiden käyttöliittymä voidaan mukauttaa mukautuvasti kaikenkokoisiin näyttöihin. Kirjastokoodi on kirjoitettu C-kielellä ja sitä jaetaan LGPL 2.1+ -lisenssillä.

Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen

Libadwaita-kirjastoa käytetään yhdessä GTK4:n kanssa, ja se sisältää GNOMEssa käytetyn Adwaita-teeman komponentteja, jotka on siirretty GTK:sta erilliseen kirjastoon. Libadwaita-koodi perustuu libhandy-kirjastoon, ja se on sijoitettu tämän kirjaston seuraajaksi, joka alun perin luotiin GNOME-teknologioihin perustuvan mukautuvan käyttöliittymän rakentamiseen mobiilialustoille ja jota hiottiin Phosh GNOME -ympäristössä Librem 5 -älypuhelimelle.

Kirjasto sisältää vakiowidgetejä, jotka kattavat erilaisia ​​käyttöliittymäelementtejä, kuten luetteloita, paneeleja, muokkauslohkoja, painikkeita, välilehtiä, hakulomakkeita, valintaikkunoita jne. Ehdotettujen widgetien avulla voit luoda universaaleja käyttöliittymiä, jotka toimivat saumattomasti sekä suurilla tietokoneiden ja kannettavien tietokoneiden näytöillä että älypuhelimien pienillä kosketusnäytöillä. Sovelluksen käyttöliittymä muuttuu dynaamisesti näytön koon ja käytettävissä olevien syöttölaitteiden mukaan. Kirjasto sisältää myös joukon Adwaita-tyylejä, jotka tuovat GNOME-ohjeiden ilmeen ja tuntuman ilman manuaalista mukauttamista.

GNOME-tyylielementtien siirtäminen erilliseen kirjastoon mahdollistaa GNOME-kohtaisten muutosten kehittämisen GTK:sta erillään, jolloin GTK-kehittäjät voivat keskittyä ydinmateriaaliin ja GNOME-kehittäjät voivat viedä haluamiaan tyylimuutoksia nopeammin ja joustavammin eteenpäin vaikuttamatta itse GTK:hen. Tämä lähestymistapa aiheuttaa kuitenkin vaikeuksia kolmannen osapuolen GTK-pohjaisten käyttäjäympäristöjen kehittäjille, jotka joutuvat joko käyttämään libadwaitaa ja mukautumaan GNOMEn ominaisuuksiin ja kopioimaan sen suunnittelua tai kehittämään oman versionsa GTK-tyylikirjastosta ja hyväksymään GNOME-sovellusten ulkonäkö on heterogeeninen ympäristöissä, jotka perustuvat kolmannen osapuolen tyylikirjastoihin.

Kolmannen osapuolen kehyskehittäjien suurin valitus koskee käyttöliittymäelementtien värien ohittamiseen liittyviä ongelmia, mutta libadwaita-kehittäjät työskentelevät tarjotakseen API:n joustavaa värienhallintaa varten, joka sisällytetään tulevaan julkaisuun. Ratkaisemattomista ongelmista mainitaan myös eleohjauswidgetien oikea toiminta vain kosketusnäytöillä - kosketuslevyille tällaisten widgetien oikea toiminta varmistetaan myöhemmin, koska ne vaativat muutoksia GTK:hen.

Tärkeimmät muutokset libadwaitassa verrattuna libhandyyn:

  • Täysin uusittu tyylisarja. GNOMEssa käytetty Adwaita-teema on poistettu GTK:sta ja modernisoitu, ja vanha teema on korjattu GTK:ssa nimellä “Default”. Yksi havaittavimmista eroista libadwaitan ja "oletus"-teeman välillä on muutos ikkunoiden otsikoiden suunnittelussa.
    Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen
  • Mekanismeja värien sitomiseksi elementteihin ja värien vaihtamiseen sovelluksen ollessa käynnissä on muutettu (ongelmat johtuvat siitä, että libadwaita siirtyi SCSS:ään, mikä vaatii uudelleenmuodostuksen värien vaihtamiseksi). Elementtien värien muuttamiseen, jota esimerkiksi GNOME Webissä vaaditaan merkitsemään siirtyminen incognito-tilaan, käytetään peruskäyttöjärjestelmässä ehdotettua menetelmää, joka perustuu kiinteän nimettyjen värien luettelon määrittämiseen "@define-color" kautta. Kuitenkin monien käyttöliittymäelementtien värit lasketaan nyt suhteessa perustekstin väriin ja muuttuvat automaattisesti, mikä ei salli sovellusten täysin hallita värimaailmaa (kehittäjät pyrkivät poistamaan tämän rajoituksen).
    Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseenLibadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen
  • Näytön laatua on parannettu käytettäessä tummia teemoja elementtien kontrastisemman korostuksen ansiosta. Korostusväriä on tehty kirkkaammaksi ja lisätty toinen korostusväri, joka voi muuttua tummien ja vaaleiden teemojen mukaan.
    Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseenLibadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen
  • Lisätty suuri osa uusia tyyliluokkia sovelluksissa käytettäväksi. Esimerkiksi ".pill" suurille pyöristetyille painikkeille, mahdollisuus käyttää ".flat"-merkkiä GtkHeaderBarissa, ".accent" korostusvärin asettamiseen tarroissa, ".numeric" taulukon typografialle, ".card" taustan käyttämiselle. ja varjo kuten listoissa.
    Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen
  • Suuret monoliittiset SCSS-tiedostot on jaettu kokoelmaan pienempiä tyylitiedostoja.
  • Lisätty API tumman suunnittelutyylin ja suuren kontrastin tilan asettamiseen.
    Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen
  • Dokumentaatiota on muokattu, ja sen luomiseen käytetään nyt gi-docgen-työkalupakkia.
    Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen
  • Animaatio-API on lisätty, jonka avulla voidaan luoda siirtymätehosteita, kun tila korvataan toisella, sekä luoda kevätanimaatioita.
    Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen
  • AdwViewSwitcheriin perustuviin välilehtiin on lisätty mahdollisuus näyttää tarroja, joissa näkyy katsomattomien ilmoitusten määrä.
    Libadwaita 1.0 -kirjaston julkaisu GNOME-tyylisten liitäntöjen luomiseen
  • Lisätty AdwApplication-luokka (GtkApplication-alaluokka), joka alustaa Libadwaitan ja lataa tyylit automaattisesti.
  • Valikoima widgetejä on lisätty yksinkertaistamaan vakiotoimintoja: AdwWindowTitle ikkunan otsikon asettamiseen, AdwBin yksinkertaistaa alaluokkien luomista, AdwSplitButton yhdistetyille painikkeille, AdwButtonContent painikkeille, joissa on kuvake ja otsikko.
  • API puhdistettu.

Lähde: opennet.ru

Lisää kommentti