Esitteli Blueprintin, uuden käyttöliittymäkielen GTK:lle

James Westman, GNOME Maps -sovelluksen kehittäjä, esitteli uuden merkintäkielen, Blueprintin, joka on suunniteltu GTK-kirjaston käyttöliittymien rakentamiseen. Kääntäjäkoodi Blueprint-merkintöjen muuntamiseen GTK-käyttöliittymätiedostoiksi on kirjoitettu Pythonissa ja jaettu LGPLv3-lisenssillä.

Syynä projektin luomiseen on GTK:ssa käytettyjen käyttöliittymän kuvaustiedostojen sitominen XML-muotoon, joka on ylikuormitettu eikä ole kätevää merkintöjen kirjoittamiseen tai muokkaamiseen manuaalisesti. Blueprint-formaatti erottuu selkeästä tiedon esittämisestä ja mahdollistaa luettavan syntaksin ansiosta ilman erikoistuneita visuaalisen käyttöliittymän muokkausohjelmia luotaessa, muokattaessa ja arvioitaessa muutoksia käyttöliittymäelementeissä.

Samaan aikaan Blueprint ei vaadi muutoksia GTK:hen, se kopioi täysin GTK-widget-mallin ja se on sijoitettu lisäosaan, joka kokoaa merkinnät GtkBuilderin standardiin XML-muotoon. Blueprintin toiminnallisuus on täysin yhdenmukainen GtkBuilderin kanssa, vain tietojen esittämistapa eroaa. Jos haluat siirtää projektin Blueprintiin, lisää rakennusskriptiin suunnitelman kääntäjäkutsu muuttamatta koodia. käyttäen Gtk 4.0:aa; malli MyAppWindow : Gtk.ApplicationWindow { otsikko: _("Oma sovellukseni otsikko"); [otsikkopalkki] HeaderBar header_bar {} Label { styles ["otsikko"] label: _("Hei, maailma!"); } }

Blueprint esitelty – uusi kieli käyttöliittymien rakentamiseen GTK:lle

Normaaliin GTK XML -muotoon kääntäjän lisäksi kehitteillä on myös Blueprint-tuella varustettu plugin integroituun GNOME Builder -kehitysympäristöön. Blueprintille kehitetään erillistä LSP-palvelinta (Language Server Protocol), jota voidaan käyttää korostukseen, virheanalyysiin, vihjeiden näyttämiseen ja koodin täydentämiseen LSP:tä tukevissa koodieditoreissa, mukaan lukien Visual Studio Code.

Suunnitelman kehityssuunnitelmiin kuuluu reaktiivisten ohjelmointielementtien lisääminen merkintään, jotka toteutetaan GTK4:n Gtk.Expression-luokassa. Ehdotettu menetelmä on tutumpi JavaScript-verkkorajapintojen kehittäjille ja mahdollistaa käyttöliittymäesityksen automaattisen synkronoinnin siihen liittyvän tietomallin kanssa ilman, että käyttöliittymää tarvitsee päivittää väkisin jokaisen tiedonvaihdon jälkeen.

Lähde: opennet.ru

Lisää kommentti