Ieviests Blueprint — jauna GTK lietotāja saskarnes valoda

Džeimss Vestmens, lietojumprogrammas GNOME Maps izstrādātājs, ieviesa jaunu iezīmēšanas valodu Blueprint, kas paredzēta saskarņu veidošanai, izmantojot GTK bibliotēku. Kompilatora kods Blueprint marķējuma konvertēšanai GTK UI failos ir rakstīts Python un tiek izplatīts saskaņā ar LGPLv3 licenci.

Projekta izveides iemesls ir GTK izmantoto UI interfeisa aprakstu failu saistīšana ar XML formātu, kas ir pārslogots un nav ērts marķējuma rakstīšanai vai rediģēšanai manuāli. Blueprint formāts izceļas ar skaidru informācijas pasniegšanu un, pateicoties tā lasāmajai sintaksei, ļauj iztikt bez specializētu vizuālā interfeisa redaktoru izmantošanas, veidojot, rediģējot un novērtējot interfeisa elementu izmaiņas.

Tajā pašā laikā Blueprint neprasa izmaiņas GTK, pilnībā atkārto GTK logrīka modeli un ir novietots kā papildinājums, kas apkopo iezīmējumu standarta XML formātā GtkBuilder. Blueprint funkcionalitāte pilnībā atbilst GtkBuilder, atšķiras tikai informācijas pasniegšanas metode. Lai migrētu projektu uz Blueprint, vienkārši pievienojiet projektēšanas skriptam projekta kompilatora izsaukumu, nemainot kodu. izmantojot Gtk 4.0; veidne MyAppWindow : Gtk.ApplicationWindow { virsraksts: _("Manas lietotnes nosaukums"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Sveika, pasaule!"); } }

Ieviests Blueprint — jauna valoda GTK lietotāja saskarņu izveidei

Papildus kompilatoram standarta GTK XML formātā tiek izstrādāts arī spraudnis ar Blueprint atbalstu GNOME Builder integrētajai izstrādes videi. Blueprint tiek izstrādāts atsevišķs LSP serveris (Language Server Protocol), ko var izmantot izcelšanai, kļūdu analīzei, ieteikumu parādīšanai un koda pabeigšanai koda redaktoros, kas atbalsta LSP, tostarp Visual Studio Code.

Projekta izstrādes plānos ir iekļauta reaktīvo programmēšanas elementu pievienošana marķējumam, kas ieviesta, izmantojot GTK4 nodrošināto Gtk.Expression klasi. Piedāvātā metode ir vairāk pazīstama JavaScript tīmekļa saskarņu izstrādātājiem un ļauj automātiski sinhronizēt interfeisa prezentāciju ar saistīto datu modeli, bez nepieciešamības pēc katras datu maiņas piespiedu kārtā atjaunināt lietotāja saskarni.

Avots: opennet.ru

Pievieno komentāru