James Westman, zhvilluesi i aplikacionit GNOME Maps, prezantoi një gjuhë të re markup, Blueprint, e cila është e destinuar për ndërtimin e ndërfaqeve duke përdorur bibliotekën GTK. Kodi i kompilatorit për të transformuar markup Blueprint në skedarë UI GTK është shkruar në gjuhën Python dhe shpërndahet nën licencën LGPLv3.
Arsyeja për krijimin e projektit është lidhja e skedarëve UI të GTK të përdorur me formatin XML, i cili është i ngarkuar dhe i ndërlikuar për t'u shkruar ose redaktuar manualisht. Formati Blueprint karaktersit të jashtëm të informacionit dhe falë sintaksës së lexueshme ofron mundësinë për t'u shmangur nga përdorimi i redaktorëve vizualë të specializuar për ndërfaqen gjatë krijimit, redaktimit dhe vlerësimit të ndryshimeve në elementet e ndërfaqes.
NĂ« tĂ« njĂ«jtĂ«n kohĂ«, Blueprint nuk kĂ«rkon ndryshime nĂ« GTK, plotĂ«sisht pĂ«rsĂ«rit modelin e widgeteve tĂ« GTK dhe pozicionohet si njĂ« shtesĂ«, e cila kompilon markup-un nĂ« formatin XML standard pĂ«r GtkBuilder. AftĂ«sitĂ« funksionale tĂ« Blueprint janĂ« plotĂ«sisht nĂ« pĂ«rputhje me GtkBuilder, ndryshimi Ă«shtĂ« vetĂ«m nĂ« metodĂ«n e paraqitjes sĂ« informacionit. PĂ«r ta transferuar projektin nĂ« Blueprint, mjafton tĂ« shtoni thirrjen blueprint-compiler nĂ« skenarin e ndĂ«rtimit pa ndryshuar kodin. using Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _(âMy App Titleâ); [titlebar] HeaderBar header_bar {} Label { styles [âheadingâ] label: _(âHello, world!â); }}

Përveç kompilatorit në formatin standard XML të GTK, është gjithashtu në zhvillim një plugin me mbështetje për Blueprint për ambientin e integruar të zhvillimit GNOME Builder. Po ashtu, po zhvillohet një server LSP (Language Server Protocol) për Blueprint, i cili do të mund të përdoret për sintaksë, analizimin e gabimeve, shfaqjen e sugjerimeve dhe autokompletimin e kodit në redaktorët e kodit që mbështetin LSP, duke përfshirë Visual Studio Code.
Në planet për zhvillimin e Blueprint përmendet shtimi i elementeve të programimit reaktiv në markup, të cilat zbatohen duke përdorur klasën Gtk.Expression, e cila ofrohet në GTK4. Metoda e propozuar është më e njohur për zhvilluesit e ndërfaqeve web në JavaScript dhe lejon arritjen e sinkronizimit automatik të paraqitjes së ndërfaqes me modelin e të dhënave të lidhura, pa nevojën për përditësimin e detyruar të ndërfaqes pas çdo ndryshimi të të dhënave.
Burimi: opennet.ru
