ΠΠΆΠ΅ΠΉΠΌΡ Π£Π΅ΡΡΠΌΠ°Π½ (James Westman), ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° GNOME Maps, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» Π½ΠΎΠ² ΡΠ·ΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ Blueprint, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° GTK. ΠΠΎΠ΄ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ°ΡΠ° Blueprint Π² ui-ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° GTK Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ LGPLv3.
ΠΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΏΡΠΈΠ²ΡΡΠ·Π°Π½ΠΎΡΡΡΠ° Π½Π° ui-ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² GTK, ΠΊΡΠΌ XML ΡΠΎΡΠΌΠ°ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠ»ΠΎΠΆΠ΅Π½ ΠΈ Π½Π΅ΡΠ΄ΠΎΠ±Π΅Π½ Π·Π° ΡΡΡΠ½ΠΎ ΠΏΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ°. Π€ΠΎΡΠΌΠ°ΡΡΡ Blueprint ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΠΈΠΌΠ°ΡΠ° ΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π²ΠΈΠ·ΡΠ°Π»Π½ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΈ Π·Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΠΎΡΠ΅Π½ΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Blueprint Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² GTK, Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΠΎΠ²ΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° GTK Π²ΠΈΠ΄ΠΆΠ΅ΡΠΈΡΠ΅ ΠΈ ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ° ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°ΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ°ΡΠ° Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ XML Π·Π° GtkBuilder. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° 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!Β»); } }

ΠΡΠ²Π΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ XML ΡΠΎΡΠΌΠ°Ρ Π½Π° GTK, ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΈ ΠΏΠ»ΡΠ³ΠΈΠ½ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Blueprint Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ΅Π΄Π° Π½Π° ΡΠ°Π±ΠΎΡΠ° GNOME Builder. ΠΡΠ΄Π΅Π»Π½ΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° LSP-ΡΠ΅ΡΠ²Π΅Ρ (Language Server Protocol) Π·Π° Blueprint, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ°, Π°Π½Π°Π»ΠΈΠ· Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΠΈΠ·ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΈ Π°Π²ΡΠΎΠ·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΈ Π½Π° ΠΊΠΎΠ΄, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈ LSP, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Visual Studio Code.
ΠΡ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° Blueprint ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π² ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ°ΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠ»Π°ΡΠ° Gtk.Expression, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ Π² GTK4. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π΅ ΠΏΠΎ-ΠΏΡΠΈΠ²ΠΈΡΠ΅Π½ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π½Π° JavaScript ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Ρ ΡΠ²ΡΡΠ·Π°Π½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Π½Π° Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ»Π΅Π΄ Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
