GTK үшін жаңа пайдаланушы интерфейс тілі Blueprint енгізілді

Джеймс Вестман, GNOME Maps қолданбасының әзірлеушісі GTK кітапханасын пайдаланып интерфейстерді құруға арналған Blueprint деген жаңа белгілеу тілін ұсынды. Blueprint белгілеуін GTK UI файлдарына түрлендіруге арналған компилятор коды Python тілінде жазылған және LGPLv3 лицензиясы бойынша таратылады.

Жобаны құрудың себебі GTK-да қолданылатын UI интерфейсінің сипаттама файлдарын XML пішіміне байланыстыру болып табылады, ол шамадан тыс жүктелген және белгілеуді қолмен жазу немесе өңдеу үшін ыңғайлы емес. Blueprint пішімі ақпаратты анық көрсетуімен ерекшеленеді және оқуға болатын синтаксисінің арқасында интерфейс элементтеріндегі өзгерістерді құру, өңдеу және бағалау кезінде арнайы визуалды интерфейс редакторларын қолданбай орындауға мүмкіндік береді.

Сонымен қатар, Blueprint GTK өзгертулерді қажет етпейді, GTK виджет үлгісін толығымен қайталайды және GtkBuilder үшін стандартты XML пішіміне белгілеуді құрастыратын қондырма ретінде орналастырылған. Blueprint функционалдығы GtkBuilder бағдарламасына толығымен сәйкес келеді, тек ақпаратты ұсыну әдісі ғана ерекшеленеді. Жобаны Blueprint қызметіне көшіру үшін кодты өзгертпестен құрастыру сценарийіне жоспар-компилятор шақыруын қосыңыз. Gtk 4.0 пайдалану; шаблон MyAppWindow : Gtk.ApplicationWindow { тақырып: _("Менің қолданбамның тақырыбы"); [тақырып тақтасы] HeaderBar header_bar {} Белгі { стильдер ["тақырып"] белгісі: _("Сәлем, әлем!"); } }

Blueprint енгізілді - GTK үшін пайдаланушы интерфейстерін құруға арналған жаңа тіл

Стандартты GTK XML пішіміндегі компиляторға қоса, GNOME Builder біріктірілген әзірлеу ортасы үшін Blueprint қолдауы бар плагин де әзірленуде. Blueprint үшін бөлек LSP сервері (Language Server Protocol) әзірленуде, оны бөлектеу, қателерді талдау, кеңестерді көрсету және LSP қолдайтын код өңдегіштерінде кодты аяқтау, соның ішінде Visual Studio Code үшін пайдалануға болады.

Жоспарларды әзірлеу жоспарлары GTK4-те берілген Gtk.Expression сыныбы арқылы жүзеге асырылатын түзетуге реактивті бағдарламалау элементтерін қосуды қамтиды. Ұсынылған әдіс JavaScript веб-интерфейстерін әзірлеушілерге көбірек таныс және әрбір деректер өзгергеннен кейін пайдаланушы интерфейсін күштеп жаңартуды қажет етпей, интерфейс көрсетілімін байланысты деректер үлгісімен автоматты синхрондауға мүмкіндік береді.

Ақпарат көзі: opennet.ru

пікір қалдыру