推出了 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

添加評論