この記事は、XULRunner を使った 基本的なデスクトップアプリケーションを作成することで、Mozilla プラットフォームを体験します。Firefox、Thunderbird、他の複数のアプリケーションがこのプラットフォームを使って実装されていることを考えれば、基本的なアプリケーションを作成するためにこのプラットフォームを使うのは、安全な選択です。
XUL ベースのデスクトップアプリケーションを作成したいならば、恐らく、XULRunner をインストールする必要があるでしょう。XULRunner をインストールすることから始めましょう。それから、ベアボーンアプリケーションが実行されることを確認します。
Step 1: XULRunner のダウンロード
MDC の XULRunner のメインページでダウンロードリンクを見つけることができます。
Windows 用の XULRunner のダウンロードは zip ファイルで、本当のインストールではありません。開発者の一人として、私は XULRunner はマシンに解凍するだけで十分だと考ています。Windows システムへフックする必要はないと思います。
XULRunner の Mac バージョンは、標準的な Mac OS X インストーラ形式で配布されています。
Step 2: XULRunner のインストール
Windows では、zip アーカイブを手頃な場所に解凍してください。私は新規フォルダ <tt>C:\program files\xulrunner</tt> に解凍しました。簡単です。Mac では、単にインストーラを実行するだけです。<tt>/Library/Frameworks</tt> ディレクトリ内に <tt>XUL.Framework</tt> として XULRunner がインストールされます。
最初に、簡単なベアボーンアプリケーションシェルから始めます。これを XUL "Hello World" と呼んでもよいでしょう。Google は、Ryan による素晴らしいチュートリアル【訳注: 英語】 を探してきました。これは間違いなく読む価値があります。そのチュートリアルを使って、私は簡単なブートストラップアプリケーションを作りました。あなたが以下で読むことの全ては、Ryan のチュートリアルと MDC の XULRunner 関連文書にあります。
Step 3: アプリケーションフォルダ構造を作成する
Windows 上で、私は新規フォルダ <tt>c:\program files\myapp</tt> をルートとして作成しましたが、あなたの好きな場所に作成してかまいません。サブフォルダの構造は以下です。:
/myapp /chrome /content main.xul chrome.manifest /defaults /preferences prefs.js application.ini
フォルダ構造内に 4 つのファイルがあることに注意してください。: <tt>application.ini</tt>、<tt>chrome.manifest</tt>、<tt>prefs.js</tt>、そして、<tt>main.xul</tt>。
Step 4: <tt>application.ini のセットアップ</tt>
<tt>application.ini</tt> ファイルは、あなたのアプリケーションを動作させるための XULRunner エントリーポイントとしての働きを持ちます。あなたのアプリケーションがどのように XULRunner プラットフォームを使うことを意図しているか、そして、XULRunner があなたのアプリケーションを実行するために用いるいくつかの情報の構成を指定します。:
[App] Vendor=Finkle Name=Test App Version=1.0 BuildID=20060101 Copyright=Copyright (c) 2006 Mark Finkle [email protected] [Gecko] MinVersion=1.8 MaxVersion=1.9.0.*
本当ではありません... <tt>application.ini</tt> ファイルについてのさらなる情報は、[XULRunner:Deploying XULRunner 1.8]] の記事で見つけることができます。
注意: この 2006 年のサンプルを 2007 年のナイトリー trunk の XULRunner ビルドで動かすには、MaxVersion を 1.9 に変更してください。
Step 5: chrome マニフェスト のセットアップ
chrome マニフェストファイルは、XULRunner がアプリケーションリソースを配置するために使われる特定の URI を定義するために使われます。これは、“chrome://” URI がどのように使われるかを理解することで、より明確になるでしょう。アプリケーション chrome は、単一あるいはわずかな複数の JAR ファイル、もしくは、 圧縮されていないフォルダとファイル内にあります。私は今は圧縮されていない方法を使っています。以下が、私のマニフェストです。:
content myapp file:content/
Step 6: 設定のセットアップ
<tt>prefs.js</tt> ファイルは、XULRunner にメインウィンドウとして使われる XUL ファイルの名前を伝えます。以下が私のファイルです。:
pref("toolkit.defaultChromeURI", "chrome://myapp/content/main.xul");
XULRunner の設定は以下を含みます。:
-
toolkit.defaultChromeURI
- アプリケーションが実行されるときに開くデフォルトのウィンドウを指定します。
-
toolkit.defaultChromeFeatures
-
window.open()
が渡されると、メインアプリケーションウィンドウが開かれますが、そのときのウィンドウの特性を指定します。 -
toolkit.singletonWindowType
- 一度に一つのインスタンスだけしか許可しないように、アプリケーションの構成を設定します。
これらは、XULRunner:Specifying Startup Chrome Window でさらに詳しく説明されています。
Step 7: XUL の作成
最後に、単純な XUL ウィンドウを作成しなければなりません。それは、<tt>main.xul</tt> ファイル内に記述されます。以下は、装飾の全くない、まさに最小の内容です。メニューも何もありません。:
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="main" title="My App" width="300" height="300" xmlns="https://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <caption label="Hello World"/> </window>
Step 8: アプリケーションの実行
ついにこのときが来ました。ベアボーンアプリケーションを実行するためには、XULRunner を手に入れる必要があります。Windows コマンドプロンプトから、<tt>C:\program files\myapp</tt> フォルダを開き、以下を実行してください。:
xulrunner.exe application.ini
もちろん、xulrunner.exe が、PATH
に含まれていなければなりません。含まれていない場合、私が XULRunner を解凍した場所と同じならば、以下を実行することもできます。:
..\xulrunner\xulrunner.exe application.ini
Mac では、 Terminal ウィンドウを開き、<tt>myapp</tt> ディレクトリに移動し、以下を入力することによって、アプリケーションを実行できます。:
/Library/Frameworks/XUL.framework/xulrunner-bin application.ini
今、あなたはこのように見えるウィンドウを見るはずです。このスクリーンショットは、Windows 2000 の場合です。
別の方法: XUL アプリを実行するために Firefox3 の -app オプションを使う
Firefox 3 では、 コマンドラインから Firefox に 通常起動時の Firefox ブラウザの代わりに XUL アプリケーションを実行させるように指示することができます。バグ 388833 を参照してください。
サンプルプロジェクトをダウンロードできます。
Original Document Information
- Author: Mark Finkle
- Last Updated Date: October 2, 2006