Yakaunzwa Blueprint, mutauro mutsva wekushandisa weGTK

James Westman, mugadziri weGNOME Mepu application, akaunza mutauro mutsva wekumaka, Blueprint, wakagadzirirwa kuvaka nzvimbo dzekushandisa uchishandisa raibhurari yeGTK. Iyo compiler kodhi yekushandura Blueprint markup kuita GTK UI mafaera yakanyorwa muPython uye yakagoverwa pasi pe LGPLv3 rezinesi.

Chikonzero chekugadzira purojekiti ndeyekusungirwa kweiyo UI interface yekutsanangura mafaera anoshandiswa muGTK kune XML fomati, iyo yakawandisa uye isiri nyore kunyora kana kugadzirisa markup nemaoko. Iyo Blueprint fomati inosiyaniswa nekuratidzwa kwayo kwakajeka kweruzivo uye, nekuda kweiyo syntax inoverengeka, inoita kuti zvikwanise kuita pasina kushandisa nyanzvi yekuona madhizaini edhita pakugadzira, kugadzirisa uye kuongorora shanduko mune zvemukati zvinhu.

Panguva imwecheteyo, Blueprint haidi shanduko kuGTK, inodzokorora zvizere iyo GTK widget modhi uye inomisikidzwa seyekuwedzera iyo inounganidza markup mune yakajairwa XML fomati yeGtkBuilder. Kushanda kweBlueprint kunoenderana zvizere neGtkBuilder, chete nzira yekupa ruzivo inosiyana. Kuti utamire purojekiti kuenda kuBlueprint, ingo wedzera bhatani-compiler kufona kune yekuvaka script pasina kuchinja kodhi. kushandisa Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow {zita: _("My App Title"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Hello, world!"); }}

Blueprint yakaunzwa - mutauro mutsva wekuvaka mashandisirwo emushandisi eGTK

Pamusoro peiyo compiler mune yakajairwa GTK XML fomati, plugin ine Blueprint rutsigiro rweGNOME Builder yakasanganiswa budiriro nharaunda iri mukusimudzira. Sevha yakaparadzana yeLSP (Language Server Protocol) iri kugadzirwa yeBlueprint, iyo inogona kushandiswa kuratidza, kuongorora kukanganisa, kuratidza mazano uye kupedzwa kwekodhi mumakodhi edhita anotsigira LSP, kusanganisira Visual Studio Code.

Zvirongwa zvekugadzira Blueprint zvinosanganisira kuwedzera kwe reactive programming elements kune markup, inoshandiswa uchishandisa Gtk.Expression class yakapiwa muGTK4. Iyo nzira yakatsanangurwa inonyanya kujaira kune vanogadzira JavaScript web interfaces uye inobvumira kuwiriranisa otomatiki kweiyo interface mharidzo neinosanganisirwa data modhi, pasina chikonzero chekugadzirisa zvine simba mushandisi mushure mekuchinja kwega kwega data.

Source: opennet.ru

Voeg