Ipinakilala ang Blueprint, isang bagong wika ng user interface para sa GTK

Si James Westman, developer ng GNOME Maps application, ay nagpakilala ng bagong markup language, Blueprint, na idinisenyo para sa pagbuo ng mga interface gamit ang GTK library. Ang compiler code para sa pag-convert ng Blueprint markup sa mga file ng GTK UI ay nakasulat sa Python at ipinamahagi sa ilalim ng lisensya ng LGPLv3.

Ang dahilan ng paggawa ng proyekto ay ang pagbubuklod ng mga file ng paglalarawan ng interface ng UI na ginamit sa GTK sa XML na format, na overloaded at hindi maginhawa para sa pagsusulat o pag-edit ng markup nang manu-mano. Ang format ng Blueprint ay nakikilala sa pamamagitan ng malinaw na presentasyon ng impormasyon at, salamat sa nababasa nitong syntax, ginagawang posible na gawin nang hindi gumagamit ng mga espesyal na editor ng visual interface kapag lumilikha, nag-e-edit at nagsusuri ng mga pagbabago sa mga elemento ng interface.

Kasabay nito, ang Blueprint ay hindi nangangailangan ng mga pagbabago sa GTK, ganap na ginagaya ang modelo ng GTK widget at nakaposisyon bilang isang add-on na nagtitipon ng markup sa karaniwang XML na format para sa GtkBuilder. Ang functionality ng Blueprint ay ganap na naaayon sa GtkBuilder, tanging ang paraan ng paglalahad ng impormasyon ay naiiba. Para mag-migrate ng proyekto sa Blueprint, magdagdag lang ng blueprint-compiler na tawag sa build script nang hindi binabago ang code. gamit ang Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("My App Title"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("Hello, world!"); } }

Ipinakilala ang Blueprint - isang bagong wika para sa pagbuo ng mga user interface para sa GTK

Bilang karagdagan sa compiler sa karaniwang format ng GTK XML, ang isang plugin na may suporta sa Blueprint para sa GNOME Builder integrated development environment ay ginagawa din. Ang isang hiwalay na LSP server (Language Server Protocol) ay binuo para sa Blueprint, na maaaring magamit para sa pag-highlight, pagsusuri ng error, pagpapakita ng mga pahiwatig at pagkumpleto ng code sa mga editor ng code na sumusuporta sa LSP, kabilang ang Visual Studio Code.

Kasama sa mga plano sa pagbuo ng blueprint ang pagdaragdag ng mga reaktibong elemento ng programming sa markup, na ipinatupad gamit ang klase ng Gtk.Expression na ibinigay sa GTK4. Ang iminungkahing paraan ay mas pamilyar sa mga developer ng JavaScript web interface at nagbibigay-daan para sa awtomatikong pag-synchronize ng pagtatanghal ng interface sa nauugnay na modelo ng data, nang hindi kinakailangang puwersahang i-update ang user interface pagkatapos ng bawat pagbabago ng data.

Pinagmulan: opennet.ru

Magdagdag ng komento