Gladeを推奨しない理由
「Glade」はGUIアプリのUIを視覚的に構築するためのアプリです。「Glade」の利用は推奨されないどころか、使うなとまで言われています。
Glade
「Glade」は「GTK」を利用してGUIアプリを開発する開発者向けのアプリであり、GUIのデザイン構築を強力に支援するアプリです。いわゆるUIデザイナーですね。
「Qt」で言うところの「Qt Designer」に相当するアプリです。
開発者は「Glade」を利用することでUIファイルの作成や編集、プレビューを実行でき、UIの設計にかかるコストを大幅に削減できます。
特に高度・多機能なUIをデザインする開発者にとって、必須のアプリでしょう。
GtkBuilderとGladeの実装が噛み合わなくなっている
UIを定義するUIファイルはXML形式のファイルです。「Glade」はこのファイルを読み書きします。
「Glade」が対応するUIファイルのフォーマットは、「GtkBuilder」が登場する前に実装されたフォーマットであり、「GtkBuilder」の仕様と噛み合わない実装が存在しています。
「GtkBuilder」はアプリの実行時にUIファイルからUI定義を読み込み、アプリのUIを構築するための仕組みです。
GladeはGtkBuilderのUI定義に対応しきれていない
そのため「Glade」は「GtkBuilder」のUI定義に対応しきれておらず、一部のプロパティーや機能、モダンなGTKプラックティスをサポートしていません。「Glade」は「Glade」自身がサポートしていないUI定義に遭遇した場合、それらの情報をただ無視するのではなく、積極的にそれらの情報を修正します。
結果、プロパティーバインディングやサポートされていないプロパティーが削除されるなど、一部の情報が欠落したり、意図しないデータに修正されてしまいます。
中には「GTK 4」でサポートされていないプロパティーが追加されてしまい、アプリの開発者が将来そのアプリを「GTK 4」へ移行する場合、それらの修正作業が必要になります。
GNOME Builderにも同じ課題がある
「GNOME Builder」にもUIデザイナーが実装されています。このUIデザイナーは「Glade」に基づく実装であるため、「Glade」と同じ課題があります。
どうすれば良いのか
おそらくアプリの開発者から見たら「Glade」をアップデートして欲しいと思うでしょう。しかし現状はそうなっておらず、UIファイルをエディターで直接編集する方法が提案されています。
つまりアプリの開発者が手作業でUIファイルを記述・編集するということです。