Yntrodusearre Blueprint, in nije brûkersynterfacetaal foar GTK

James Westman, ûntwikkelder fan 'e GNOME Maps-applikaasje, yntrodusearre in nije markup-taal, Blueprint, ûntworpen foar it bouwen fan ynterfaces mei de GTK-bibleteek. De kompilerkoade foar it konvertearjen fan Blueprint-markearring yn GTK UI-bestannen is skreaun yn Python en ferspraat ûnder de LGPLv3-lisinsje.

De reden foar it oanmeitsjen fan it projekt is de bining fan de UI-ynterface-beskriuwingsbestannen brûkt yn GTK oan it XML-formaat, dat is oerladen en net handich foar it skriuwen of bewurkjen fan markup mei de hân. It Blueprint-formaat wurdt ûnderskieden troch syn dúdlike presintaasje fan ynformaasje en, troch syn lêsbere syntaksis, makket it mooglik om te dwaan sûnder it brûken fan spesjalisearre fisuele ynterface-bewurkers by it oanmeitsjen, bewurkjen en evaluearjen fan feroaringen yn ynterface-eleminten.

Tagelyk hat Blueprint gjin wizigingen oan GTK nedich, replikearret it GTK-widgetmodel folslein en wurdt pleatst as in tafoeging dy't markearring kompilearret yn it standert XML-formaat foar GtkBuilder. De funksjonaliteit fan Blueprint is folslein konsistint mei GtkBuilder, allinich de metoade foar it presintearjen fan ynformaasje ferskilt. Om in projekt nei Blueprint te migrearjen, foegje gewoan in blueprint-compiler-oprop ta oan it build-skript sûnder de koade te feroarjen. mei Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("Myn App-titel"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Hallo, wrâld!"); } }

Blueprint yntrodusearre - in nije taal foar it bouwen fan brûkersynterfaces foar GTK

Neist de kompilator yn it standert GTK XML-formaat is ek in plugin mei Blueprint-stipe foar de yntegreare ûntwikkelingsomjouwing fan GNOME Builder yn ûntwikkeling. In aparte LSP tsjinner (Language Server Protocol) wurdt ûntwikkele foar Blueprint, dat kin brûkt wurde foar markearring, flater analyze, werjaan fan hints en koade foltôging yn koade bewurkers dy't stypje LSP, ynklusyf Visual Studio Code.

Blueprint-ûntwikkelingsplannen omfetsje de tafoeging fan reaktive programmearring eleminten oan 'e markup, ymplementearre mei de Gtk.Expression-klasse levere yn GTK4. De foarstelde metoade is bekender foar ûntwikkelders fan JavaSkript-webynterfaces en soarget foar automatyske syngronisaasje fan 'e ynterfacepresintaasje mei it assosjearre gegevensmodel, sûnder de needsaak om de brûkersynterface krêftich te aktualisearjen nei elke gegevensferoaring.

Boarne: opennet.ru

Add a comment