スライド

XMLであることの利点と欠点

「具体的」というXMLの特徴

XMLでユーザーインターフェースを記述することの利点として、できあがるアプリケーションをソースコードから想像しやすいということが挙げられます。

一般的なプログラミング言語においては、ユーザーインターフェースの定義が「ここに○○を表示しろ」といった命令・手続きの連続となるため、ソースコードは構造化も何もなされていないものになってしまいます。図の左側はJavaでメニューバーの内容を定義する場合のコード片(btm氏に提供して頂きました)ですが、まさに「命令」の連続ですね。

右側は、同様のメニュー定義をXULで行った例です(内容はJavaのものとは違います。単に似た例として挙げているだけです)。Javaの命令セットとは違い、表示されるメニューをそのまま文字で書き表したようなソースコードになっています。XULは表現されるものをそのままタグの形でコード化するものなので、XULのソースコードは設計者がUIとしてイメージしたものそのままの形になるのです。ソースコードから表示されるUIを、あるいは表示結果からソースコードを想像しやすいため、複数人で開発を行う場合に意思の疎通を図りやすいなどのメリットが生まれます。

反面、ソースは冗長になりがち

ただ、XMLはイメージをそのままコード化するという物凄く物理的なアプローチのものであるため、非効率的で冗長なコードになってしまうこともままあります。例えばJavaのメニュー定義であれば、同じメニュー項目を10個表示するにはループを使って「10個表示せよ」と書くだけでよいですが、XULの場合は実際に10回タグを書かなくてはなりません。数を増やしたり減らしたりする時にも泥臭い操作が必要になってしまいます。