23

Firefox用の(さらに別の)パスワードマネージャーアドオンを開発しています。私のアドオンは次のことを行う必要があります:

  • 各パスワードフィールドに2つのコンテキストメニュー項目を追加します。
  • メニュー項目を選択したら、ダイアログボックスまたはフローティングパネルを開きます。
  • 特定のXPCOMコンポーネントの特定のメソッドにアクセスします。
  • パスワードフィールドに入力します。
  • 設定ウィンドウを含めます。
  • Firefox4.0と互換性があります。

できれば、次のことも行います。

  • Firefox3.5および3.6で実行します。
    • 一部のユーザーは最新バージョンに更新しません。
    • Firefox4.0はPowerPCMacでは動作しません。
  • Firefox4.0に再起動せずにインストールします。
  • ローカリゼーションを許可します。

アドオンSDK(旧称Jetpack)を試しましたが、開発を非常に簡単に開始できます。ただし、HTMLでは「ネイティブな外観」のダイアログボックスを簡単に作成できず、SDKはかなり重いことがわかりました。(単純な拡張機能を構築するには数キロバイトかかります。XPCOMコンポーネントが含まれています!)

アドオンSDKを使用してFirefox拡張機能を開発することの長所と短所は何ですか?「深刻な」拡張機能開発の準備はできていますか?

4

1 に答える 1

22

利点:

  1. Jetpack APIは、あなたが言及したほとんどのことについて高レベルのAPIを公開します。

    • 2つのコンテキストメニュー項目を追加します
    • フローティングパネル
    • パスワードマネージャーのAPI
  2. Jetpackベースのアドオンは再起動が不要です。

  3. Jetpackベースのアドオンは、FFの今後のバージョンで高レベルのAPIが変更されないという意味で、将来にわたって利用できるものです。

  4. SDKで公開されていないAPI用にコミュニティで開発されたモジュールを使用できる場合があります。

  5. これが構築を計画している最後の拡張機能でない場合は、4で説明したようにサードパーティのモジュールを構築することで、コードが再利用される可能性があります(詳細についてはドキュメントを参照してください)。

  6. モバイルFFのサポートはAddon-SDKのポスト1.0バージョンで提供されます。これは、最小限の労力で、拡張機能をモバイルバージョンのFFと互換性を持たせることができることを意味します。

  7. Jetpackには、組み込みの単体テストフレームワークが付属しています。

  8. より優れたセキュリティモデルがあり、アドオンのレビュープロセスが容易になります。

  9. Jetpackはcommonjsモジュール/パッケージをサポートします。つまり、コードの一部は、たとえばnodejsなどの他のプロジェクトから借用できます。

短所:

  1. JetpackはFF<4をサポートしなくなりました。
  2. ローカリゼーションはまだサポートされていません。
  3. 設定パネルを構築するためのAPIはありませんが、サードパーティモジュールとして開発し、コミュニティの他のメンバーと共有することができます。
  4. アドオンには、抽象化レイヤーを含むコードが含まれ、アドオンのサイズが大きくなります(アドオンで使用されていないファイルを除外することで、xpiサイズを小さくする作業が進行中です)。
于 2011-04-19T16:20:42.460 に答える