拡張機能開発入門
自分がブラウザに欲しい機能を簡単に追加できる拡張機能を作ってみようという人のため、チュートリアルやリファレンスなどのドキュメントを紹介します。
アドオン開発者ガイド
Firefox にはアドオン開発用の SDK が公開されており、SDK にはチュートリアルや API リファレンスなどの開発者ガイドも用意されています。現時点ではチュートリアル部分だけが日本語に翻訳されています。残りの部分については翻訳協力者を絶賛募集中です。
これから Firefox のアドオン開発を始める方はまずこのチュートリアルをご覧いただくことをオススメします。
Add-on SDK で始めるアドオン開発
knagato さんにがチュートリアル形式で Add-on SDK を開設した連載投稿です。
Firefox Hacks Rebooted
O’Reilly の “Firefox Hacks Rebooted” では Add-on SDK を使ったアドオン開発(3章)と、SDK を使わずに再起動不要アドオンを開発する Bootstrapped アドオンの開発手順が解説されています。
Jetpack 開発入門
Firefox 4 からは Jetpack と呼ばれる新しい拡張機能開発の仕組みが導入されます。Jetpack では JavaScirpt API を使用して JavaScirpt だけでも簡単に Firefox のバージョンが上がっても動作する拡張機能を作成できるようになります。
- Add-ons Builder を使った Jetpack 開発の手引き
- Add-on Builder チュートリアル
- Web 上で簡単に拡張機能開発をする Add-on Builder の入門
その他 Firefox 4 に向けた拡張機能開発情報はこちらのページでまとめています。
拡張機能開発ワークショップ用資料 (XUL アドオン用)
半日などの短期間で拡張機能開発を学ぶためのワークショップ用に作成された資料とサンプル拡張機能のソースコードを公開しています。
- Firefox 拡張機能開発 準備編 – SlideShare / PDF Download
- Firefox 拡張機能開発 入門編 – SlideShare / PDF Download
Firefox 3.5 以降を対象として、拡張機能開発環境の準備手順など非常に基本的なところから詳細に解説しています。ざっくりと拡張機能開発を体験して全体像が見えるようになったら、続けて他のチュートリアルや MDC のリファレンスを見ながら、自分の欲しい機能をどんどん実現していってください。
Firefox 拡張機能開発チュートリアル (XUL アドオン用)
Software Design誌2007年4月号第2特集「Firefox拡張機能開発チュートリアル」を元に、Firefox の拡張機能開発を始める方のためのチュートリアル冊子が作成されました。この冊子では JavaScript や CSS など Web 開発で一般的な基本さえ知っていれば Firefox の拡張機能開発を行えるように、XUL の書き方の基礎から XPCOM による高度な処理まで詳しく解説しています。また、デバッガの紹介や OSS ライセンスの解説も巻末付録として含められています。
当初 Firefox 2 向けに書かれ、その後 Firefox 3 向けにアップデートされています。残念ながら最新の Firefox で追加された新機能や変更点に関する説明はありませんが、拡張機能開発の基本については今でも変わりなく、最も網羅的な開発入門ドキュメントになっています。
Firefox 3 ではじめる拡張機能開発 (XUL アドオン用)
技術評論社サイトで公開されている、Scrapbook などの拡張機能作者として有名な Gomita さんによる拡張機能開発の連載記事です。
こちらもやはり Firefox 3 向けの記事ではありますが、今でも基本的なところは変わりないし、適度な分量でとても上手くまとめられています。
Mozilla Developer Center
Mozilla の開発者向け公式情報サイトは Mozilla Developer Center (通称 MDC または DevMo) と呼ばれている Wiki サイトです。
MDC には開発者向けの様々な情報が書かれており、拡張機能についてもチュートリアルや FAQ、コードサンプルなどが用意されています。
- アドオン開発者向け情報
- 拡張機能開発者向け情報
- 拡張機能作成チュートリアル (Firefox 1.5 向け)
- 拡張機能開発の準備
- 拡張機能に関する FAQ
- コードサンプル集
- FUEL (Firefox User Extension Library)
- テーマ開発者向け情報
また、Firefox 本体同様に拡張機能の中で使用する XML ベースのユーザインターフェイス言語 XUL について、XUL の特徴や利点の解説、リファレンスなどが用意されています。
localmdc
MDC のドキュメントをオフラインでも参照できるよう、Gemma さんがスナップショットアーカイブを作成してくださっています。ダウンロード可能な ZIP パッケージと、ブラウザで参照する HTML、Windows のヘルプファイル、Unix 向けに Textinfo など各種形式で公開されているので、必要に応じてご利用ください。
Addons for Firefox (AMO)
Mozilla 公式のアドオン配布サイト Addons for Firefox (AMO) では誰でも簡単に自分の作った拡張機能を登録、配布できるだけでなく、アドオン開発者向けのツールやドキュメントの紹介なども用意されています。
- アドオン開発者センター (Developer Hub)
- アドオンビルダー (スケルトン生成ツール)
- アドオンバリデータ (自動検証ツール)
- ケーススタディ (開発者インタビュー)
- 開発者向けドキュメントリンク集 (英語)
困ったときは
困ったときには他の拡張機能開発者も集まるフォーラムで質問してみるか、この modest サイトの投稿機能を使って悩みなどを書いてみてください。経験豊富な開発者達がきっとあなたの疑問に答えてくれます。
- MozillaZine.jp – 拡張機能フォーラム
- このサイトに新しいトピックを投稿 (アカウント登録または OpenID が必要)
- AMO – Developer Forum (英語)
その他
拡張機能の開発に必要な基本的情報はここまでに紹介した資料やサイトにすべて書かれています。これ以上の情報が欲しいというあなたは、もう拡張機能開発入門は卒業です。一人前の拡張機能開発者として拡張機能開発テクニックを学びながらバリバリ開発を行っていってください。