Ներկայացրեց Blueprint-ը՝ GTK-ի համար օգտագործողի միջերեսի նոր լեզու

Ջեյմս Ուեսթմանը, GNOME Maps հավելվածի մշակողը, ներկայացրեց նշագրման նոր լեզու՝ Blueprint, որը նախատեսված է GTK գրադարանի միջոցով միջերեսներ կառուցելու համար: Կազմողի կոդը՝ Blueprint նշումը GTK UI ֆայլերի փոխարկելու համար գրված է Python-ում և տարածվում LGPLv3 լիցենզիայի ներքո:

Նախագծի ստեղծման պատճառը GTK-ում օգտագործվող UI ինտերֆեյսի նկարագրության ֆայլերի կապումն է XML ձևաչափին, որը ծանրաբեռնված է և հարմար չէ նշագծումը ձեռքով գրելու կամ խմբագրելու համար: Blueprint ձևաչափն առանձնանում է տեղեկատվության հստակ ներկայացմամբ և իր ընթեռնելի շարահյուսության շնորհիվ հնարավոր է դարձնում առանց հատուկ տեսողական ինտերֆեյսի խմբագրիչների օգտագործման՝ ինտերֆեյսի տարրերի փոփոխությունները ստեղծելիս, խմբագրելիս և գնահատելիս:

Միևնույն ժամանակ, Blueprint-ը չի պահանջում փոփոխություններ GTK-ում, ամբողջությամբ կրկնում է GTK վիջեթի մոդելը և տեղադրվում է որպես հավելում, որը կազմում է նշումը ստանդարտ XML ձևաչափի GtkBuilder-ի համար: Blueprint-ի ֆունկցիոնալությունը լիովին համապատասխանում է GtkBuilder-ին, միայն տեղեկատվության ներկայացման եղանակն է տարբերվում: Նախագիծը Blueprint տեղափոխելու համար պարզապես ավելացրեք նախագծային-կոմպիլյատորի զանգ build-ի սցենարին՝ առանց ծածկագիրը փոխելու: օգտագործելով Gtk 4.0; ձևանմուշ MyAppWindow : Gtk.ApplicationWindow { վերնագիր՝ _(«Իմ հավելվածի վերնագիրը»); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Բարեւ, աշխարհ!"); } }

Ներկայացվեց Blueprint-ը. GTK-ի համար օգտագործողների միջերեսներ ստեղծելու նոր լեզու

Բացի ստանդարտ GTK XML ձևաչափով կոմպիլյատորից, մշակման փուլում է նաև Blueprint-ի աջակցությամբ GNOME Builder-ի ինտեգրված զարգացման միջավայրի հավելվածը: Blueprint-ի համար մշակվում է առանձին LSP սերվեր (Language Server Protocol), որը կարող է օգտագործվել լուսաբանման, սխալների վերլուծության, ակնարկների ցուցադրման և կոդերի լրացման համար, որոնք աջակցում են LSP-ին, ներառյալ Visual Studio Code-ը:

Նախագծի մշակման պլանները ներառում են նշագրման մեջ ռեակտիվ ծրագրավորման տարրերի ավելացում, որն իրականացվում է Gtk.Expression դասի միջոցով, որը տրված է GTK4-ում: Առաջարկվող մեթոդն առավել ծանոթ է JavaScript վեբ ինտերֆեյսերի մշակողներին և թույլ է տալիս ավտոմատ կերպով համաժամացնել ինտերֆեյսի ներկայացումը համապատասխան տվյալների մոդելի հետ՝ առանց յուրաքանչյուր տվյալների փոփոխությունից հետո օգտագործողի միջերեսը հարկադիր թարմացնելու անհրաժեշտության:

Source: opennet.ru

Добавить комментарий