ื”ืฆื™ื’ ืืช Blueprint, ืฉืคืช ืžืžืฉืง ืžืฉืชืžืฉ ื—ื“ืฉื” ืขื‘ื•ืจ GTK

ื’'ื™ื™ืžืก ื•ื•ืกื˜ืžืŸ, ืžืคืชื— ืืคืœื™ืงืฆื™ื™ืช GNOME Maps, ื”ืฆื™ื’ ืฉืคืช ืกื™ืžื•ืŸ ื—ื“ืฉื”, Blueprint, ื”ืžื™ื•ืขื“ืช ืœื‘ื ื™ื™ืช ืžืžืฉืงื™ื ื‘ืืžืฆืขื•ืช ืกืคืจื™ื™ืช GTK. ืงื•ื“ ื”ืžื”ื“ืจ ืœื”ืžืจืช ืกื™ืžื•ืŸ Blueprint ืœืงื‘ืฆื™ GTK UI ื›ืชื•ื‘ ื‘-Python ื•ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ LGPLv3.

ื”ืกื™ื‘ื” ืœื™ืฆื™ืจืช ื”ืคืจื•ื™ืงื˜ ื”ื™ื ื”ื›ืจื™ื›ื” ืฉืœ ืงื‘ืฆื™ ืชื™ืื•ืจ ืžืžืฉืง ื”-UI ื”ืžืฉืžืฉื™ื ื‘-GTK ืœืคื•ืจืžื˜ ื”-XML, ืฉื”ื•ื ืขืžื•ืก ืžื“ื™ ื•ืื™ื ื• ื ื•ื— ืœื›ืชื™ื‘ื” ืื• ืขืจื™ื›ื” ืฉืœ ืกื™ืžื•ืŸ ื™ื“ื ื™. ืคื•ืจืžื˜ ื”-Blueprint ืžืชืืคื™ื™ืŸ ื‘ื”ืฆื’ืช ื”ืžื™ื“ืข ื”ื‘ืจื•ืจื” ืฉืœื•, ื•ื‘ื–ื›ื•ืช ื”ืชื—ื‘ื™ืจ ื”ืงืจื™ื ืฉืœื•, ืžืืคืฉืจ ืœืขืฉื•ืช ื–ืืช ืœืœื ืฉื™ืžื•ืฉ ื‘ืขื•ืจื›ื™ ืžืžืฉืง ื—ื–ื•ืชื™ ืžื™ื•ื—ื“ื™ื ื‘ืขืช ื™ืฆื™ืจื”, ืขืจื™ื›ื” ื•ื”ืขืจื›ืช ืฉื™ื ื•ื™ื™ื ื‘ืจื›ื™ื‘ื™ ืžืžืฉืง.

ื™ื—ื“ ืขื ื–ืืช, Blueprint ืื™ื ื” ื“ื•ืจืฉืช ืฉื™ื ื•ื™ื™ื ื‘-GTK, ืžืฉื›ืคืœืช ืœื—ืœื•ื˜ื™ืŸ ืืช ืžื•ื“ืœ ื”ื•ื•ื™ื“ื’'ื˜ ืฉืœ GTK ื•ืžืžื•ืงืžืช ื›ืชื•ืกืฃ ืฉืžืจื›ื™ื‘ ืกื™ืžื•ืŸ ืœืคื•ืจืžื˜ ื”-XML ื”ืกื˜ื ื“ืจื˜ื™ ืขื‘ื•ืจ GtkBuilder. ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ Blueprint ืขืงื‘ื™ืช ืœื—ืœื•ื˜ื™ืŸ ืขื GtkBuilder, ืจืง ืฉื™ื˜ืช ื”ืฆื’ืช ื”ืžื™ื“ืข ืฉื•ื ื”. ื›ื“ื™ ืœื”ืขื‘ื™ืจ ืคืจื•ื™ืงื˜ ืœ-Blueprint, ืคืฉื•ื˜ ื”ื•ืกืฃ ืงืจื™ืื” ืœ-Blueprint-Compiler ืœืกืงืจื™ืคื˜ ื”-build ืžื‘ืœื™ ืœืฉื ื•ืช ืืช ื”ืงื•ื“. ื‘ืืžืฆืขื•ืช Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("My App Title"); [titlebar] HeaderBar header_bar {} ืชื•ื•ื™ืช { styles ["heading"] ืชื•ื•ื™ืช: _("ืฉืœื•ื, ืขื•ืœื!"); } }

ื”ื•ืฆื’ื” Blueprint - ืฉืคื” ื—ื“ืฉื” ืœื‘ื ื™ื™ืช ืžืžืฉืงื™ ืžืฉืชืžืฉ ืขื‘ื•ืจ GTK

ื‘ื ื•ืกืฃ ืœืžื”ื“ืจ ืœืคื•ืจืžื˜ GTK XML ื”ืกื˜ื ื“ืจื˜ื™, ื ืžืฆื ื’ื ืชื•ืกืฃ ืขื ืชืžื™ื›ื” ื‘-Blueprint ืขื‘ื•ืจ ืกื‘ื™ื‘ืช ื”ืคื™ืชื•ื— ื”ืžืฉื•ืœื‘ืช GNOME Builder ื‘ืคื™ืชื•ื—. ืคื•ืชื— ืฉืจืช LSP ื ืคืจื“ (Language Server Protocol) ืขื‘ื•ืจ Blueprint, ืฉื™ื›ื•ืœ ืœืฉืžืฉ ืœื”ื“ื’ืฉื”, ื ื™ืชื•ื— ืฉื’ื™ืื•ืช, ื”ืฆื’ืช ืจืžื–ื™ื ื•ื”ืฉืœืžืช ืงื•ื“ ื‘ืขื•ืจื›ื™ ืงื•ื“ ื”ืชื•ืžื›ื™ื ื‘-LSP, ื›ื•ืœืœ Visual Studio Code.

ืชื•ื›ื ื™ื•ืช ื”ืคื™ืชื•ื— ืฉืœ Blueprint ื›ื•ืœืœื•ืช ื”ื•ืกืคื” ืฉืœ ืจื›ื™ื‘ื™ ืชื›ื ื•ืช ืชื’ื•ื‘ืชื™ื™ื ืœืกื™ืžื•ืŸ, ื”ืžื™ื•ืฉืžื™ื ื‘ืืžืฆืขื•ืช ืžื—ืœืงืช Gtk.Expression ื”ื ื™ืชื ืช ื‘-GTK4. ื”ืฉื™ื˜ื” ื”ืžื•ืฆืขืช ืžื•ื›ืจืช ื™ื•ืชืจ ืœืžืคืชื—ื™ ืžืžืฉืงื™ ืื™ื ื˜ืจื ื˜ JavaScript ื•ืžืืคืฉืจืช ืกื ื›ืจื•ืŸ ืื•ื˜ื•ืžื˜ื™ ืฉืœ ืžืฆื’ืช ื”ืžืžืฉืง ืขื ืžื•ื“ืœ ื”ื ืชื•ื ื™ื ื”ืžืฉื•ื™ืš, ืœืœื ืฆื•ืจืš ื‘ืขื“ื›ื•ืŸ ื›ื•ื—ื ื™ ืฉืœ ืžืžืฉืง ื”ืžืฉืชืžืฉ ืœืื—ืจ ื›ืœ ืฉื™ื ื•ื™ ื ืชื•ื ื™ื.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”