Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Thunderbird 拡張機能のビルド その1: 導入

Thunderbird は、Mozilla のオープンソースのメールアプリケーションです。 Thunderbird では、JavaScriptGecko(レイアウトエンジン、XUL(XMLユーザインタフェース言語)、XPCOM(クロスプラットフォームコンポーネントオブジェクトモデル)など、 Firefox で用いられる多くの技術が利用されています。

このチュートリアルでは、Thunderbird 拡張機能の導入とビルド方法を説明します。チュートリアルの構成は次の通りです。

  1. 導入(このページ)
  2. The extension filesystem (setting up your local system)
  3. Install manifest (the install.rdf file that contains meta-information about the extension)
  4. Chrome manifest (list of packages and overlays)
  5. XUL (the XML user interface language that is used to modify the Thunderbird user interface)
  6. Adding JavaScript (explains how to add some simple JavaScript to your Thunderbird extension)
  7. Installing locally (enabling the extension on your local Thunderbird instance)
  8. Packaging (making a distribution package that contains the extension)
  9. 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 の開発コミュニティにはメーリングリストがあり、検索可能なアーカイブもあります。さらに、 IRC チャンネル (#maildev) を通じて、コミュニティとコンタクトを取ることが可能です。

ドキュメントのタグと貢献者

 このページの貢献者: ethertank, whombx
 最終更新者: ethertank,