XML で GUI プログラミング

GUIプログラミングをもっとわかりやすく

GUIツールキットでのプログラミングは、GUIの構造表現がプログラミング言語のスタイルに規定されてしまうので構造がわかりにくい。

「ではどんなプログラミング言語なら構造を把握しやすいか?」と考えたところやはりXMLである。

XMLは"構造を記述する"ための言語なのだから当たり前といえば当たり前なのだが実装例はあまりない。 しかしWebアプリケーションではHTML/XHTMLがUI定義の言語として機能しているし、めずらしいものでもないのだ。

XMLでUIをプログラミングする言語の代表例は Mozilla プロジェクトが開発した XUL (XML-based User Interface Language)である。 以下にUIプログラミングにXMLが使えるものを挙げてみる(XULを除く)。

XML文書だけでUIプログラミングが完結するのはXULのみで、その他はプログラミングコードを生成するにすぎない(もちろん完成されたものであるが)。 この点だけでもXULが優れているように見える。単純にプログラミングが楽だから。

XMLでGUIプログラミングの実装は2通りに分かれるということだ。

  1. GUIツールキットのプログラミング言語としてXMLを利用し、オブジェクトコードを生成する
  2. GUIツールキットがネイティブにサポートするプログラミング言語をXMLに置き換え、 そしてXMLからネイティブサポートのプログラミング言語のソースコードを出力し、オブジェクトコードを生成する

あくまでプログラマーから見える範囲が重要。GUIを定義したXML文書さえあれば、それを直接実行しているように見えれば良い。gui4jやQtのように中間コード(Java, C++コード)がプログラマに見えてしまえば、GUIに不具合があった場合にプログラマは自分が書いたXMLが悪いのかツールが生成した中間コードが悪いのか悩んでしまう。

中間コードを自力で修正すれば解決できる場合でもそうしてしまえば中間コードを生成したツールの不具合が残る。もちろん誠実な開発者はバグ報告するだろうが、バグや不具合の報告が開発元へ遅れて届くことはまちがいない。

Date: 2008-12-15

スポンサード リンク