推出了 Blueprint,一种 GTK 的新用户界面语言

GNOME 地图应用程序的开发人员 James Westman 引入了一种新的标记语言 Blueprint,该语言专为使用 GTK 库构建界面而设计。 用于将 Blueprint 标记转换为 GTK UI 文件的编译器代码是用 Python 编写的,并在 LGPLv3 许可证下分发。

创建该项目的原因是将GTK中使用的UI界面描述文件绑定为XML格式,这种格式负担过重,并且不方便手动编写或编辑标记。 蓝图格式以其清晰的信息呈现而著称,并且由于其可读的语法,使得在创建、编辑和评估界面元素的更改时无需使用专门的可视界面编辑器即可完成。

同时,Blueprint 不需要对 GTK 进行更改,完全复制 GTK 小部件模型,并定位为将标记编译为 GtkBuilder 标准 XML 格式的附加组件。 Blueprint 的功能与 GtkBuilder 完全一致,只是呈现信息的方法不同。 要将项目迁移到蓝图,只需向构建脚本添加蓝图编译器调用,而无需更改代码。 使用Gtk 4.0; template MyAppWindow : Gtk.ApplicationWindow { title: _("我的应用程序标题"); [titlebar] HeaderBar header_bar {} Label { styles ["heading"] label: _("你好,世界!"); } }

引入 Blueprint - 一种用于构建 GTK 用户界面的新语言

除了编译成标准 GTK XML 格式之外,一个支持 GNOME Builder 集成开发环境的 Blueprint 插件也在开发中。 Blueprint 正在开发一个单独的 LSP 服务器(语言服务器协议),可用于在支持 LSP 的代码编辑器(包括 Visual Studio Code)中突出显示、错误分析、显示提示和代码完成。

蓝图开发计划包括向标记添加反应式编程元素,使用 GTK4 中提供的 Gtk.Expression 类实现。 所提出的方法对于 JavaScript Web 界面的开发人员来说更熟悉,并且允许界面呈现与关联的数据模型自动同步,而无需在每次数据更改后强制更新用户界面。

来源: opennet.ru

添加评论