Introduċa Blueprint, lingwa ġdida tal-interface tal-utent għal GTK

James Westman, l-iżviluppatur tal-applikazzjoni tal-Mapep GNOME, introduċa lingwa ta' markup ġdida, Blueprint, iddisinjata għall-bini ta' interfaces bl-użu tal-librerija GTK. Il-kodiċi tal-kompilatur għall-konverżjoni tal-markup tal-Blueprint f'fajls GTK UI huwa miktub f'Python u mqassam taħt il-liċenzja LGPLv3.

Ir-raġuni għall-ħolqien tal-proġett hija l-irbit tal-fajls tad-deskrizzjoni tal-interface tal-UI użati f'GTK mal-format XML, li huwa mgħobbi żżejjed u mhux konvenjenti għall-kitba jew l-editjar tal-markup manwalment. Il-format tal-Blueprint huwa distint mill-preżentazzjoni ċara tal-informazzjoni tiegħu u, bis-saħħa tas-sintassi li tinqara, jagħmilha possibbli li wieħed jgħaddi mingħajr l-użu ta 'edituri speċjalizzati tal-interface viżiv meta joħolqu, editjar u jevalwaw bidliet fl-elementi tal-interface.

Fl-istess ħin, Blueprint ma jeħtieġx bidliet għal GTK, jirreplika kompletament il-mudell tal-widget GTK u huwa pożizzjonat bħala add-on li jiġbor il-markup fil-format XML standard għal GtkBuilder. Il-funzjonalità ta 'Blueprint hija konsistenti għal kollox ma' GtkBuilder, il-metodu ta 'preżentazzjoni ta' l-informazzjoni biss huwa differenti. Biex temigra proġett għall-Blueprint, żid sempliċiment sejħa għall-kumpilazzjoni tal-blueprint mal-iskritt tal-bini mingħajr ma tbiddel il-kodiċi. bl-użu ta' Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("Titolu tal-App Tiegħi"); [titolu] HeaderBar header_bar {} Tikketta { stili ["intestatura"] tikketta: _("Hello, dinja!"); } }

Blueprint introdott - lingwa ġdida għall-bini ta' interfaces għall-utent għal GTK

Minbarra l-kompilatur fil-format standard GTK XML, plugin b'appoġġ Blueprint għall-ambjent ta 'żvilupp integrat GNOME Builder huwa wkoll fl-iżvilupp. Qed jiġi żviluppat server LSP (Language Server Protocol) separat għall-Blueprint, li jista 'jintuża għall-enfasi, l-analiżi tal-iżbalji, il-wiri ta' ħjiel u t-tlestija tal-kodiċi f'edituri tal-kodiċi li jappoġġjaw LSP, inkluż Visual Studio Code.

Pjanijiet ta 'żvilupp tal-blueprint jinkludu ż-żieda ta' elementi ta 'programmar reattiv mal-markup, implimentati bl-użu tal-klassi Gtk.Expression ipprovduta f'GTK4. Il-metodu propost huwa aktar familjari għall-iżviluppaturi tal-interfaces tal-web JavaScript u jippermetti sinkronizzazzjoni awtomatika tal-preżentazzjoni tal-interface mal-mudell tad-dejta assoċjat, mingħajr il-ħtieġa li taġġorna bil-qawwa l-interface tal-utent wara kull bidla tad-dejta.

Sors: opennet.ru

Żid kumment