バッキーの日々是爆食

アクセスカウンタ

zoom RSS Mozilla Add-on Builderによる拡張機能開発の入門 : ドキュメント・リードマップ

<<   作成日時 : 2012/06/18 09:56   >>

ブログ気持玉 0 / トラックバック 1 / コメント 0

バッキーはソフトウェアエンジニアとしてプログラミングの経験は長いのですが、Firefoxの拡張機能の開発は初心者です。
ネット検索で調べていろいろと資料を読んでみましたが、ピンポイントの情報は得られるもののどうやって組み合わせてプログラミングするのか悩みました。
そこで、拡張機能のプログラミングを理解しやすいように、どういう順序でドキュメントを読んでいったらいいのかリードマップを作ってみました。
尚、このリードマップは現時点(2012/06ごろ)の Add-on SDK 1.7 と Add-on Builder に関するものです。
バージョンアップなどで将来は変更になっている可能性があります。ご注意ください。



【概要】
最新のドキュメントは https://addons.mozilla.org/en-US/developers/docs/sdk/latest/ でアクセスできます。(ただし英語です)
2012/05/23 現在 Add-on SDK 1.7 について書かれています。

ネットで検索すると古いバージョンのドキュメントがたくさん見つかります。
Mozillaのドキュメントは同じデザインで作られていますが、バージョンごとにドキュメントツリーやタイトル、内容が微妙に異なるので、
そのことに気が付くまで非常に混乱しました。

混乱を防ぐには、ドキュメント画面の左上にバージョンが表記されているはずなので必ずチェックしてください。
画像

画像



ちなみに、古いドキュメントは下記URLでアクセスできます。
https://addons.mozilla.org/en-US/developers/docs/sdk/1.6/
https://addons.mozilla.org/en-US/developers/docs/sdk/1.5/
https://addons.mozilla.org/en-US/developers/docs/sdk/1.4/
https://addons.mozilla.org/en-US/developers/docs/sdk/1.3/
https://addons.mozilla.org/en-US/developers/docs/sdk/1.2/
https://addons.mozilla.org/en-US/developers/docs/sdk/1.1/
https://addons.mozilla.org/en-US/developers/docs/sdk/1.0/

バージョン1.5までは画面左側のサイドバーが適切に表示されるため今どの文書を読んでいるのか判りやすいのですが、
バージョン1.6からは単純に"Tutorials", "Guides"と表示されるだけなので、ドキュメント上の迷子になりやすかったです。
(バッキーは上で述べたように「ドキュメントツリーや内容が微妙に異なる」ので頭の中が混乱してめちゃめちゃ迷いました)



【拡張機能のプログラミングに関する リードマップ】
・2種類のスクリプト
Guides -> SDK Idioms -> Two Types of Scripts
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/guides/two-types-of-scripts.html


・拡張機能の開始処理(exports.main関数)と終了処理(exports.onUnload関数)
Tutorials -> Development Techniques -> Listen for load and unload(Listening for Load and Unload)
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/tutorials/load-and-unload.html


・スクリプトのモジュール化 定義(exports)と参照(require)
Guides -> SDK Infrastructure -> CommonJS, Packages, and the SDK
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/guides/commonjs.html


・再利用可能なモジュールの作成
Tutorials -> Development Techniques -> Creating third-party modules(Creating Reusable Modules, Implementing Reusable Modules)
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/tutorials/reusable-modules.html


・コンソール出力
Tutorials -> Development Techniques -> Logging
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/tutorials/logging.html

Console API [2012/07/21 追記]
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/console.html

Console.logに関する仕様の変更がありました [2013/10/26 追記]
デバッグ時は問題ありませんが、通常の実行では設定を追加しないとログが表示されませんので注意なさってください。
Changes to console.log behaviour in SDK 1.14


・多言語対応(ローカライズ、l10n)
Tutorials -> Development techniques -> Localization
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/tutorials/l10n.html

多言語対応のサンプル
https://builder.addons.mozilla.org/addon/1015876/
画像

※ 2012年07月24日現在 Add-on Builderでは Localization(l10n)を利用できないことがわかりました
詳しいことは Bugzilla Bug No. 776841 を参照なさってください。
※ 2013年10月06日 若干の手作業を付け加えることで Add-on Builderで作成した拡張機能をローカライズ(多言語化)できることが判りました。
詳しいことは 「Add-on Builderで作成した拡張機能をローカライズ(多言語化)する方法について 」を参照なさってください。


・拡張機能のパラメータ設定
High-Level APIs -> addon-kit -> simple-prefs
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/addon-kit/simple-prefs.html

パラメータの定義方法
https://wiki.mozilla.org/Jetpack/FAQ#Using_Builder

拡張機能のパラメータはプロパティの Extra package.json Propertiesで設定します
画像

画像


参考になるブログ記事
http://blog.mozilla.org/addons/2011/12/08/just-landed-simple-prefs-api/


・Configの直接操作
Low-Level APIs -> api-utils -> preferences-service
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/api-utils/preferences-service.html


・メニューアイテムの追加
Tutorials -> Create user interface components -> menu items
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/tutorials/adding-menus.html

add-on builderで menuitems.jsを利用(require)するにはライブラリを追加する必要があります。
また、menuitemsライブラリがいくつか利用できるようになっていますが、私が試したときには MenuItems(copy)を追加すると上手く動作しました。
(2012/06/15)
画像


・ダイアログボックス
Tutorials -> Create user interface components -> dialogs
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/tutorials/display-a-popup.html

GUI関連の参考
https://wiki.mozilla.org/Jetpack/FAQ#Building_a_UI


・拡張機能の名前やIDの取得 (2012/06/21 追記)
High-Level APIs -> addon-kit -> self
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/addon-kit/self.html




以上、ご参考になれば幸いです。


[2012/06/20 追記]
よかったら「Mozilla Add-on Builderによる拡張機能開発の入門 : ビギナー向け操作方法 」もどうぞ。


[2012/07/21 追記]
「コンソール出力」の項に Console APIへのリンクを追加しました。


[2012/07/24 追記]
「多言語対応(Localization)」の項に、現時点での不具合内容を追記しました。


[2013/10/26 追記]
更新するのを忘れていましたが、 2013年3月に Console.logに関する仕様の変更がありましたので「コンソール出力」の項に追記しました。




Firefox 3 Hacks ―Mozillaテクノロジ徹底活用テクニック
オライリージャパン
江村 秀之

amazon.co.jpで買う
Amazonアソシエイト by Firefox 3 Hacks ―Mozillaテクノロジ徹底活用テクニック の詳しい情報を見る / ウェブリブログ商品ポータル



Firefox Hacks Rebooted ―Mozillaテクノロジ徹底活用テクニック
オライリージャパン
浅井 智也

amazon.co.jpで買う
Amazonアソシエイト by Firefox Hacks Rebooted ―Mozillaテクノロジ徹底活用テクニック の詳しい情報を見る / ウェブリブログ商品ポータル


テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(1件)

タイトル (本文) ブログ名/日時
Mozilla Add-on Builderによる拡張機能開発の入門 : ビギナー向け操作方法
Firefox用の拡張機能を開発するに際に Add-on Builderの操作方法を解説しているサイトが見つからなかったので、自分の復習を兼ねて資料を作ることにしました。 とりあえずGUI無しの簡単な拡張機能を開発する手順を説明します。 ...続きを見る
バッキーの日々是爆食
2012/06/20 08:48

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
Mozilla Add-on Builderによる拡張機能開発の入門 : ドキュメント・リードマップ バッキーの日々是爆食/BIGLOBEウェブリブログ
文字サイズ:       閉じる