เปเบ™เบฐเบ™เบณ Blueprint, เบžเบฒเบชเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰เปƒเปเปˆเบชเบณเบฅเบฑเบš GTK

ะ”ะถะตะนะผั ะ’ะตัั‚ะผะฐะฝ (James Westman), ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบ ะฟั€ะธะปะพะถะตะฝะธั GNOME Maps, ะฟั€ะตะดัั‚ะฐะฒะธะป ะฝะพะฒั‹ะน ัะทั‹ะบ ั€ะฐะทะผะตั‚ะบะธ Blueprint, ะฟั€ะตะดะฝะฐะทะฝะฐั‡ะตะฝะฝั‹ะน ะดะปั ะฟะพัั‚ั€ะพะตะฝะธั ะธะฝั‚ะตั€ั„ะตะนัะพะฒ ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะฑะธะฑะปะธะพั‚ะตะบะธ GTK. ะšะพะด ะบะพะผะฟะธะปัั‚ะพั€ะฐ ะดะปั ะฟั€ะตะพะฑั€ะฐะทะพะฒะฐะฝะธั ั€ะฐะทะผะตั‚ะบะธ Blueprint ะฒ ui-ั„ะฐะนะปั‹ GTK ะฝะฐะฟะธัะฐะฝ ะฝะฐ ัะทั‹ะบะต Python ะธ ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝัะตั‚ัั ะฟะพะด ะปะธั†ะตะฝะทะธะตะน LGPLv3.

ะ’ ะบะฐั‡ะตัั‚ะฒะต ะฟั€ะธั‡ะธะฝั‹ ัะพะทะดะฐะฝะธั ะฟั€ะพะตะบั‚ะฐ ะฝะฐะทั‹ะฒะฐะตั‚ัั ะฟั€ะธะฒัะทะบะฐ ะฟั€ะธะผะตะฝัะตะผั‹ั… ะฒ GTK ui-ั„ะฐะนะปะพะฒ ะพะฟะธัะฐะฝะธั ะธะฝั‚ะตั€ั„ะตะนัะฐ ะบ ั„ะพั€ะผะฐั‚ัƒ XML, ะบะพั‚ะพั€ั‹ะน ะฟะตั€ะตะณั€ัƒะถะตะฝ ะธ ะฝะต ัƒะดะพะฑะตะฝ ะดะปั ะฝะฐะฟะธัะฐะฝะธั ะธะปะธ ั€ะตะดะฐะบั‚ะธั€ะพะฒะฐะฝะธั ั€ะฐะทะผะตั‚ะบะธ ะฒั€ัƒั‡ะฝัƒัŽ. ะคะพั€ะผะฐั‚ Blueprint ะพั‚ะปะธั‡ะฐะตั‚ัั ะฝะฐะณะปัะดะฝะพัั‚ัŒัŽ ะฟั€ะตะดัั‚ะฐะฒะปะตะฝะธั ะธะฝั„ะพั€ะผะฐั†ะธะธ ะธ ะฑะปะฐะณะพะดะฐั€ั ั‡ะธั‚ะฐะตะผะพะผัƒ ัะธะฝั‚ะฐะบัะธััƒ ะดะฐั‘ั‚ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะพะฑะพะนั‚ะธััŒ ะฑะตะท ะฟั€ะธะผะตะฝะตะฝะธั ัะฟะตั†ะธะฐะปะธะทะธั€ะพะฒะฐะฝะฝั‹ั… ะฒะธะทัƒะฐะปัŒะฝั‹ั… ั€ะตะดะฐะบั‚ะพั€ะพะฒ ะธะฝั‚ะตั€ั„ะตะนัะฐ ะฟั€ะธ ัะพะทะดะฐะฝะธะธ, ั€ะตะดะฐะบั‚ะธั€ะพะฒะฐะฝะธะธ ะธ ะพั†ะตะฝะบะธ ะธะทะผะตะฝะตะฝะธะน ะฒ ัะปะตะผะตะฝั‚ะฐั… ะธะฝั‚ะตั€ั„ะตะนัะฐ.

ะŸั€ะธ ัั‚ะพะผ Blueprint ะฝะต ั‚ั€ะตะฑัƒะตั‚ ะฒะฝะตัะตะฝะธั ะธะทะผะตะฝะตะฝะธะน ะฒ GTK, ะฟะพะปะฝะพัั‚ัŒัŽ ะฟะพะฒั‚ะพั€ัะตั‚ ะผะพะดะตะปัŒ ะฒะธะดะถะตั‚ะพะฒ GTK ะธ ะฟะพะทะธั†ะธะพะฝะธั€ัƒะตั‚ัั ะบะฐะบ ะฝะฐะดัั‚ั€ะพะนะบะฐ, ะบะพะผะฟะธะปะธั€ัƒัŽั‰ะฐั ั€ะฐะทะผะตั‚ะบัƒ ะฒ ัˆั‚ะฐั‚ะฝั‹ะน ะดะปั GtkBuilder ั„ะพั€ะผะฐั‚ XML. ะคัƒะฝะบั†ะธะพะฝะฐะปัŒะฝั‹ะต ะฒะพะทะผะพะถะฝะพัั‚ะธ Blueprint ะฟะพะปะฝะพัั‚ัŒัŽ ัะพะพั‚ะฒะตั‚ัั‚ะฒัƒัŽั‚ GtkBuilder, ะพั‚ะปะธั‡ะฐะตั‚ัั ะปะธัˆัŒ ะผะตั‚ะพะด ะฟั€ะตะดัั‚ะฐะฒะปะตะฝะธั ะธะฝั„ะพั€ะผะฐั†ะธะธ. ะ”ะปั ะฟะตั€ะตะฒะพะดะฐ ะฟั€ะพะตะบั‚ะฐ ะฝะฐ Blueprint ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะดะพะฑะฐะฒะธั‚ัŒ ะฒั‹ะทะพะฒ blueprint-compiler ะฒ ัั†ะตะฝะฐั€ะธะน ัะฑะพั€ะบะธ ะฑะตะท ะธะทะผะตะฝะตะฝะธั ะบะพะดะฐ. using Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _(ยซMy App Titleยป); [titlebar] HeaderBar header_bar {} Label { styles [ยซheadingยป] label: _(ยซHello, world!ยป); } }

ะŸั€ะตะดัั‚ะฐะฒะปะตะฝ Blueprint - ะฝะพะฒั‹ะน ัะทั‹ะบ ะฟะพัั‚ั€ะพะตะฝะธั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัŒัะบะธั… ะธะฝั‚ะตั€ั„ะตะนัะพะฒ ะดะปั GTK

ะšั€ะพะผะต ะบะพะผะฟะธะปัั‚ะพั€ะฐ ะฒ ัˆั‚ะฐั‚ะฝั‹ะน XML-ั„ะพั€ะผะฐั‚ GTK ะฒ ั€ะฐะทั€ะฐะฑะพั‚ะบะต ั‚ะฐะบะถะต ะฝะฐั…ะพะดะธั‚ัั ะฟะปะฐะณะธะฝ ั ะฟะพะดะดะตั€ะถะบะพะน Blueprint ะดะปั ะธะฝั‚ะตะณั€ะธั€ะพะฒะฐะฝะฝะพะน ัั€ะตะดั‹ ั€ะฐะทั€ะฐะฑะพั‚ะบะธ GNOME Builder. ะžั‚ะดะตะปัŒะฝะพะน ั€ะฐะทะฒะธะฒะฐะตั‚ัั LSP-ัะตั€ะฒะตั€ (Language Server Protocol) ะดะปั Blueprint, ะบะพั‚ะพั€ั‹ะน ะผะพะถะฝะพ ะฑัƒะดะตั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะดะปั ะฟะพะดัะฒะตั‚ะบะธ, ะฐะฝะฐะปะธะทะฐ ะพัˆะธะฑะพะบ, ะฒั‹ะฒะพะดะฐ ะฟะพะดัะบะฐะทะพะบ ะธ ะฐะฒั‚ะพะดะพะฟะพะปะฝะตะฝะธั ะบะพะดะฐ ะฒ ะฟะพะดะดะตั€ะถะธะฒะฐัŽั‰ะธั… LSP ั€ะตะดะฐะบั‚ะพั€ะฐั… ะบะพะดะฐ, ะฒะบะปัŽั‡ะฐั Visual Studio Code.

ะ˜ะท ะฟะปะฐะฝะพะฒ ะฟะพ ั€ะฐะทะฒะธั‚ะธัŽ Blueprint ะพั‚ะผะตั‡ะฐะตั‚ัั ะดะพะฑะฐะฒะปะตะฝะธั ะฒ ั€ะฐะทะผะตั‚ะบัƒ ัะปะตะผะตะฝั‚ะพะฒ ั€ะตะฐะบั‚ะธะฒะฝะพะณะพ ะฟั€ะพะณั€ะฐะผะผะธั€ะพะฒะฐะฝะธั, ั€ะตะฐะปะธะทัƒะตะผะพะณะพ ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะบะปะฐััะฐ Gtk.Expression, ะฟั€ะตะดะพัั‚ะฐะฒะปัะตะผะพะณะพ ะฒ GTK4. ะŸั€ะตะดะปะฐะณะฐะตะผั‹ะน ะผะตั‚ะพะด ะฑะพะปะตะต ะฟั€ะธะฒั‹ั‡ะตะฝ ะดะปั ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะพะฒ web-ะธะฝั‚ะตั€ั„ะตะนัะพะฒ ะฝะฐ JavaScript ะธ ะฟะพะทะฒะพะปัะตั‚ ะดะพะฑะธั‚ัŒัั ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะพะน ัะธะฝั…ั€ะพะฝะธะทะฐั†ะธะธ ะฟั€ะตะดัั‚ะฐะฒะปะตะฝะธั ะธะฝั‚ะตั€ั„ะตะนัะฐ ัะพ ัะฒัะทะฐะฝะฝะพะน ะผะพะดะตะปัŒัŽ ะดะฐะฝะฝั‹ั…, ะฑะตะท ะฝะตะพะฑั…ะพะดะธะผะพัั‚ะธ ะฟั€ะธะฝัƒะดะธั‚ะตะปัŒะฝะพะณะพ ะพะฑะฝะพะฒะปะตะฝะธั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัŒัะบะพะณะพ ะธะฝั‚ะตั€ั„ะตะนัะฐ ะฟะพัะปะต ะบะฐะถะดะพะณะพ ะธะทะผะตะฝะตะฝะธั ะดะฐะฝะฝั‹ั….

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™