InfoQ

News

XUL~Webはどうあるべきか?

作者 Jonathan Allen, 翻訳者 松本 清一 投稿日 2007年8月31日 午前1時23分

コミュニティ
.NET,
Java
トピック
RIA,
リッチクライアント/デスクトップ
タグ
XUL

先日、私たちはリッチクライアントの将来について簡単に話し合った。そこで、私たちはMozillaアドオンの専用言語としてXULを見ていた。しかし、それは誤解だったようである。

XML User Interface Language (XUL)は、先日ニュースで取り上げたフレームワークと同じように、プレゼンテーションがXMLベース、バックエンドがJavaScriptというように、多くの特徴を共有している。しかし、異なる特徴もいくつかある。

大抵のWindows開発者は、新しいフレームワークに関して、まず第一に「きちんとしているのか?」と尋ねる。言い換えれば、そのフレームワークで、ネィティブアプリケーションのようなルック&フィールが作れるのかということである。XULに対するその答えは、YESだと思われる。Mozilla Amazon Browser (MAP)を動かしてみると、きちんとしたリッチクライアントを作ることが可能だということが分かる。Firefox上での起動となるが、それは、正にネィティブアプリケーションのようである。XUL Periodic Timetableと呼ばれるデモサイト(Mozilla専用)を見れば、リッチクライアント開発者が期待する制御のほとんどを既にサポートしていることが分かる。

10年前は、他のプラットフォームに影響を与えず、プラットフォームやプログラミング言語から分離するように考えられていた。最近ではそうではなくなり、XPCOMXPConnectが提供されている。

XPCOMは、クロスプラットフォームコンポーネントのオブジェクトモデルの略です。それは、クロスプラットフォームで書けるモジュールソフトウェアのフレームワークです。XPCOMコンポーネントをC、C++、JavaScriptで記述可能で、C、C++、JavaScript、Python、Java、Perlから操作可能です。

XPConnectは、XPCOMとJavaScriptを簡単に操作できるようにするテクノロジーです。XPConnectは、JavaScriptオブジェクトが透過的にXPCOMオブジェクトにアクセスし、操作できるようにします。また、JavaScriptオブジェクトが、XPCOMオブジェクトから呼び出し可能な、XPCOMに準拠したインターフェイスを持つこともできます。

最近の別のホットトピックは、国際化である。XULでは、言語ごとにDTDで書かれたテキストとプロパティファイルを格納することでカバーしている。訳文を作成するのはとても簡単で、それらのファイルは、XULファイルから分離して作成、パッケージ化することができる。

多くのオープンソースプロジェクトとは異なり、ツールのサポートは充実している。XULのホームページに、XUL Explorerや軽量なIDEを含む、様々なツールやユーティリティがある。

一見、Mozillaのブラウザ製品群に縛られているGran Paradisoと同じ問題を抱えているように見えるかもしれない。しかしながら、それは問題ではない。別のMozilla製品であるXULRunnerにより、XULベースのアプリケーションがブラウザ無しで動作することが可能である。現在、Windows、OS X、Linuxで利用可能である。

しかし、XULは100%問題が解決している訳ではない。Firefox 2.0.0.3でテストをしたところ、Dキーがアプリケーションのコマンドボタンよりも、Firefoxのアクセラレータキーが有効になるという問題がある。これらの問題は、大したものではなく、簡単に修正されるだろう。

もう少し知名度が上がり洗練されれば、XULもWPF/EやAdobe Flexと十分肩を並べることができるだろう。

(原文は2007年4月9日にリリースされた記事です)

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。