この拡張は、名前空間を使用したJavaScriptと、設定ファイル(config.json)によるURLとのマッピングによって行う。例えばconfig.jsonにリスト1のように記述し、/resources/jmaki/ext/fooディレクトリにextension.jsという名前でリスト2のようなJavaScriptファイルを用意する。これによって、.jspに対するアクセスをjmaki.extensions.jmaki.ext.foo.Extensionにマッピングすることができる。
リスト1 拡張メカニズムを利用するためのconfig.json
{
'config': {
'version': '.9',
'glue' : {
'includes': ['/glue.js', '/resources/system-glue.js']
},
'extensions': [{url : '/*', 'name' : 'google.gears'}]
}
}
リスト2 拡張機能を定義するJavaScript
jmaki.namespace("jmaki.extensions.jmaki.ext.foo");
jmaki.extensions.jmaki.ext.foo.Extension = function(args) {
// some script
}
Google Gearsとのインテグレーションはこの拡張メカニズムを用いて実現できる。
Google Gearsの機能を利用するサンプルアプリケーション
まず、Google GearsをWebブラウザにインストールしておく。Google Gearsはサイトからダウンロード可能、Windows上のFirefox 1.5およびInternet Explorer 6.0に対応している。
jMakiはプロジェクトサイトから入手できる。本体は「jmaki-java-0.9.3.1.zip」だが、NetBeansモジュールやEclipseプラグインも同時に公開されている。本稿ではNetBeansを用いて解説する。ただし、現時点でNetBeansモジュールに付属するのはバージョン.9.2なので注意が必要(今回使用するサンプルは問題なく実行できる)。