Predstavljen Blueprint, novi jezik korisničkog sučelja za GTK

James Westman, programer aplikacije GNOME Maps, predstavio je novi označni jezik, Blueprint, dizajniran za izgradnju sučelja pomoću biblioteke GTK. Kod prevoditelja za pretvaranje oznake Blueprint u GTK UI datoteke napisan je u Pythonu i distribuiran pod licencom LGPLv3.

Razlog za stvaranje projekta je vezanje datoteka opisa UI sučelja korištenih u GTK-u na XML format, koji je preopterećen i nije prikladan za ručno pisanje ili uređivanje oznaka. Format Blueprint odlikuje se jasnom prezentacijom informacija i, zahvaljujući čitljivoj sintaksi, omogućuje bez upotrebe specijaliziranih uređivača vizualnih sučelja pri stvaranju, uređivanju i ocjenjivanju promjena u elementima sučelja.

U isto vrijeme, Blueprint ne zahtijeva promjene u GTK-u, u potpunosti replicira model GTK widgeta i pozicioniran je kao dodatak koji kompilira oznake u standardni XML format za GtkBuilder. Funkcionalnost Blueprinta u potpunosti je u skladu s GtkBuilderom, samo se razlikuje način prezentiranja informacija. Da biste premjestili projekt na Blueprint, samo dodajte poziv kompilatora nacrta u skriptu za izgradnju bez mijenjanja koda. koristeći Gtk 4.0; predložak MyAppWindow : Gtk.ApplicationWindow { title: _("Naslov moje aplikacije"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Hello, world!"); }}

Predstavljen Blueprint - novi jezik za izgradnju korisničkih sučelja za GTK

Uz prevodilac u standardni GTK XML format, u razvoju je i dodatak s podrškom za Blueprint za integrirano razvojno okruženje GNOME Builder. Za Blueprint se razvija zasebni LSP poslužitelj (Language Server Protocol) koji se može koristiti za označavanje, analizu pogrešaka, prikazivanje savjeta i dovršavanje koda u uređivačima koda koji podržavaju LSP, uključujući Visual Studio Code.

Planovi razvoja nacrta uključuju dodavanje reaktivnih programskih elemenata u označavanje, implementirano korištenjem klase Gtk.Expression koja se nalazi u GTK4. Predložena metoda poznatija je programerima JavaScript web sučelja i omogućuje automatsku sinkronizaciju prezentacije sučelja s pridruženim podatkovnim modelom, bez potrebe za prisilnim ažuriranjem korisničkog sučelja nakon svake promjene podataka.

Izvor: opennet.ru

Dodajte komentar