Thunderbird は、Mozilla のオープンソースのメールアプリケーションです。 Thunderbird では、JavaScript、Gecko(レイアウトエンジン、XUL(XMLユーザインタフェース言語)、XPCOM(クロスプラットフォームコンポーネントオブジェクトモデル)など、 Firefox で用いられる多くの技術が利用されています。
このチュートリアルでは、Thunderbird 拡張機能の導入とビルド方法を説明します。チュートリアルの構成は次の通りです。
- 導入(このページ)
- The extension filesystem (setting up your local system)
- Install manifest (the
install.rdf
file that contains meta-information about the extension) - Chrome manifest (list of packages and overlays)
- XUL (the XML user interface language that is used to modify the Thunderbird user interface)
- Adding JavaScript (explains how to add some simple JavaScript to your Thunderbird extension)
- Installing locally (enabling the extension on your local Thunderbird instance)
- Packaging (making a distribution package that contains the extension)
- Distributing (from your own site or from https://addons.mozilla.org/)
このチュートリアルは、Thunderbird2,3,5 を対象とします。 Thunderbird のビルドはすべて FTPサイトから手に入れることが出来ます。
リファレンスとリソース
ツールとヘルパー拡張機能
Thunderbird 拡張機能の開発を助ける多くのツールがありますが、少なくとも以下のツールが必要になります。
- テキストエディター: 拡張機能の書くためにプレーンテキストの記述が可能なエディターが必要です。しかし、多くの開発者はコーディングに適したエディタ(もしくは IDE)を用いて、シンタックスハイライトやコードの色づけ、インデント、自動補完などの機能を利用します。
- ファイルアーカイバ: アーカイブファイルの作成に対応している必要があります。
この他にも、テストやデバックのための多くの拡張機能やアプリケーションがあります(JavaScriptコンソール、XPCOMインスペクターなど)。これらに関しては、『Setting up an extension development environment』をご覧ください。
アドオンビルダー
Firefox もしくは Thunderbird 拡張機能フレームワークを自動生成するアドオンビルダーがあり、開発者センターから利用できます。アドオンビルダーは web ベースのユーティリティーで、単純なアドオンファイルのスケルトンを zip 形式で作成します。ウィザードを通してアドオンの基本情報を入力することで、必要なフォルダ構成とメタデータとソースファイル群が作成されます。ソースファイル群にはサンプルコードが記入されていて、すぐに手を入れられるようになっています。
このチュートリアルで学ぶことのできる多くは、アドオンビルダーによって自動生成されますが、ファイル同士の関係性や内容の構成を説明します。このチュートリアルを読み終わるころには、アドオンの一般的な構成とレイアウトを理解できているはずです。アドオンビルダーを使うことで、新しいアドオンの作成を速くすることができます。
ドキュメント
- Thunderbird
- Firefox アドオン開発ガイド(多くのトピックは Thunderbird と共通します)
- Mozilla cross-reference ソースコードブラウザ ("comm-central" は Thunderbird コードリポジトリの機能を持っています)
コミュニティ
Thunderbird の開発コミュニティにはメーリングリストがあり、検索可能なアーカイブもあります。さらに、 IRC チャンネル (#maildev) を通じて、コミュニティとコンタクトを取ることが可能です。