GNOME Maps アプリケーションの開発者である James Westman は、GTK ライブラリを使用してインターフェイスを構築するために設計された新しいマークアップ言語 Blueprint を導入しました。 ブループリント マークアップを GTK UI ファイルに変換するコンパイラ コードは Python で記述され、LGPLv3 ライセンスに基づいて配布されます。
プロジェクトを作成する理由は、GTK で使用される UI インターフェイス記述ファイルを XML 形式にバインドするためです。これはオーバーロードされており、マークアップを手動で作成または編集するには不便です。 ブループリント形式は、情報の明確な表現が特徴であり、その読みやすい構文のおかげで、インターフェイス要素の変更を作成、編集、評価する際に、専用のビジュアル インターフェイス エディタを使用せずに作業を行うことができます。
同時に、Blueprint は GTK への変更を必要とせず、GTK ウィジェット モデルを完全に複製し、マークアップを GtkBuilder の標準 XML 形式にコンパイルするアドオンとして位置付けられます。 ブループリントの機能は GtkBuilder と完全に一致していますが、情報の表示方法のみが異なります。 プロジェクトをブループリントに移行するには、コードを変更せずに、ビルド スクリプトにブループリント コンパイラー呼び出しを追加するだけです。 Gtk 4.0を使用。 テンプレート MyAppWindow : Gtk.ApplicationWindow { title: _("私のアプリのタイトル"); [タイトルバー] HeaderBar header_bar {} ラベル { スタイル ["見出し"] ラベル: _("Hello, world!"); } }
標準 GTK XML 形式へのコンパイラーに加えて、GNOME Builder 統合開発環境用のブループリントをサポートするプラグインも開発中です。 ブループリント用に別の LSP サーバー (言語サーバー プロトコル) が開発されています。これは、Visual Studio Code などの LSP をサポートするコード エディターでの強調表示、エラー分析、ヒントの表示、およびコード補完に使用できます。
ブループリントの開発計画には、GTK4 で提供される Gtk.Expression クラスを使用して実装されるリアクティブ プログラミング要素のマークアップへの追加が含まれます。 提案された方法は、JavaScript Web インターフェイスの開発者にとってより馴染みのあるもので、データが変更されるたびにユーザー インターフェイスを強制的に更新する必要がなく、インターフェイスのプレゼンテーションと関連するデータ モデルの自動同期が可能になります。
出所: オープンネット.ru