WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

XUL との遭遇

元日は実家にいてサーバーの作業ができなかったので、暇つぶしに XUL の勉強をしました。XML を書くだけで手軽にユーザーインターフェースの構築ができるし、普通に必要そうなウィジェットは揃っているので、けっこういい感じです。

申し遅れましたが、この記事は Firefox の共通テーマにも投稿させていただいております。Firefox テーマの皆さん、初めまして。いつもは GentooLinux に関する blog を書いている歩行者と申します。XUL アプリケーションのプログラミングにも興味がありますので、ときどきお邪魔すると思います。以後、よろしくお願いいたします m(_ _)m

さて、XUL について一応説明しておきますと、Firefox をはじめとする Gecko アプリケーションのために Mozilla Foundation が開発した、XML ベースのユーザーインターフェース記述言語です。考え方は HTML に似ていますが、タグにはほとんど互換性はありません。HTML よりもリッチな UI を構築できるように、さまざまな機能が用意されています。以下に主なウィジェットをリストアップしておきます。

タグ機能
label固定テキスト
description固定テキスト
textbox編集可能テキスト
button各種プッシュボタン
checkboxチェックボックス
radioラジオボタン
listboxリストボックス
menulistコンボボックス
treeツリービュー
menubarメニューバー
toolbarツールバー
tabboxタブコントロール

Firefox などは、XUL で記述された UI が DOM イベントの形でロジックを駆動することで全体が動作しています。今回は、その XUL の部分だけを利用して、基本的なウィジェットを並べた XUL ページを作ってみました。 Firefox をお使いなら、こちらで見れます。

基本的なウィジェット

ツールバーと配置機能

ネイティブコードで記述された GUI ツールキットにもひけをとらない UI が、Web ページを書くようにすらすら書けてしまうのは驚きです。

このサンプルには入れられませんでしたが、Web ページを表示するためのブラウザーウェジェットやより高度なテキスト編集を行うエディターウィジェットなどがあるようです。CSS で表示スタイルをさまざまにコントロールできることを考えれば、XUL の標準機能だけでかなり見栄えの良い UI が構築できそうな気がします。

また、そのほかに興味深い機能としては、コマンド定義やブロードキャストの定義などとして、各コントロールのラベル設定や無効状態の制御などを自動化する機構が備わっている点です。普通の GUI ツールキットでは各メニューアイテムやツールバーボタンなどのステータス制御はかなり面倒な作業ですが、それらが XUL の記述だけで完結できるような感じです。たぶん(^^;

クロスプラットフォームへの対応の容易さ(というか、特別なことをしなければ嫌でもクロスプラットフォームになってしまう)なども考えると、GUI アプリケーションの RAD 環境として Firefox を利用するのは、なかなか興味深い選択だと思います。サーバーの構築が一段落したら、本格的に取り組んでみたい課題です。

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles