多くの人が既に知っているように、
Firefox 4の最初の
ベータ版は数週間前にリリースされました。 すぐに2番目のものが続き、最終バージョンは
今年後半に予定されています。 この比較的長い移行期間は、アドオン開発者にとって有益であり、Firefox 4の拡張機能を更新およびテストするために多くの時間が与えられます。一方、この重要な新しいリリースは、多くの新機能を誇示し、必要なものの多くを破壊します。それをサポートするためにほとんどのアドオンを更新することは簡単な作業ではありません。 このブログ投稿は、Firefox 4との互換性を認識している多くの開発者の1人です。
まず第一に、MDCはあなたの友人です。「
開発者向けFirefox 4 」。 これは、Firefox 4を取り巻くWeb開発者およびアドオン開発者が必要とするすべての情報を含むべきドキュメントであり、定期的にこのドキュメントにアクセスして変更を確認してください。 このドキュメントに不足している点がある場合は、お知らせください。
そして、このドキュメントからのいくつかの重要な断片です。
新しいアドオンマネージャーオブジェクト
nsIExtensionManagerインターフェースは、
RDFの下側もそうではありません
。 アドオン情報はSQLiteデータベースに保存され、アドオンマネージャーは
AddonManagerと呼ばれる
JSモジュールになり
ます 。
この新しいインターフェイスとの主な違いは、
アドオンデータリクエストが非同期になることです 。 これはFUELライブラリにも適用されるため、アドオン情報を要求するすべてのアドオンは、この変更の影響を受けます。 特に注意が必要なのは、このデータを取得して起動時に処理する必要があるアドオンの状況です。 ただし、
ブートストラップの高速化に関する推奨事項にも従う場合は、拡張機能を非同期として開始するプロセスをすでに計画している必要があります。
XPCOM登録
この分野では多くのことが行われています:
XPCOMはGecko 2.0に変更され、これらの変更を考慮に入れるまでコンポーネントは動作しません。
コンポーネントは、chrome.manifestファイルで明示的に宣言する必要があります。 いくつかのブートイベントが解決されました。 唯一残されたもので、その観察は常に推奨されていました:「変更後のプロファイル」。 また、オブザーバー
(リスナー)とカテゴリへの登録もマニフェストで示す必要があります。
その結果 、一部のカテゴリ名が変更されました。
tabbrowser要素の変更
イベントTabClose、TabSelect、およびTabOpenは、「gBrowser」とも呼ばれるtabbrowser要素のレベルまでポップアップしなくなりました。 これらのイベントを追跡する
イベントリスナーを gBrowser.tabContainerオブジェクトに追加する必要があります。
リモートXULはキャンセルされます
リモートXUL
(リモートXUL)は、Geckoベースのブラウザーでめったに使用されない機能であり、開発者はHTMLの代わりにXULを使用してサイトを作成できます。 XUL言語のサポートは複数のブラウザーに限定されていたため、その上にサイトを書くことはあまり意味がありませんでした。 ただし、いくつかの社内
ビジネスアプリケーション (比phor的に「ダークマター」とも呼ばれ
ます )での使用は成功してい
ます 。
リモートXULは保守が非常に難しく、多くのバグとセキュリティ問題の原因でした。 このため、Firefox 4から遠くのXUL
は削除されます。幸いなことに、HTML 5にはすでにかなり豊富な
ボックスモデルが含まれているため、ここでWeb開発者の主な損失は、将来XBLを使用できなくなることです。 XBL 2に何が起こるか知りたい場合は、リモートXULを削除することがXBL 2を実装するために必要なステップであることに注意してください。
テーマとユーザーインターフェイスの変更
Firefox 4 UIには多くの野心的なアイデアがあるため、これらの問題について頻繁に再度問い合わせる必要があります。 これらの変更の一部が実際に実装されるかどうかは、時間があるかどうか、および正しいコンセンサスが見つかったかどうかによって決まります。
これらのUIの変更に関する主なドキュメントは、Mozilla wiki:「
Firefox 3.7のUX優先順位 」です。 知っておくべき重要な変更点を次に示します。
- 上部のタブ 。 ツールバーに対するタブストリップの位置を制御する設定が表示されます。
- アプリケーションメニュー。 Windows(および他のシステム)では、完全なメニューバーの代わりに1つのメニューボタンがあります。 「Alt」キーを押すと、「クラシック」メニューのスイッチおよびスイッチとして機能します。 これは間違いなく、メインメニューのメニューに重畳されるアドオンに影響します。
- ホームタブ。 彼女は常にタブストリップの最初になります。
- アプリケーションタブ。 タブをアプリケーションモードに切り替えることができます。これは、基本的に、そのようなタブを閉じることがより難しくなり、タイトルが非表示になることを意味します。サイトアイコンのみがタブの背に残ります。 さらに興味深い変更(たとえば、そのようなタブがアクティブなときにブラウザーのツールバーを非表示にする)も計画されています。
- また、ステータスバーを非表示にするか削除することについても話します。これは、アドオン開発者にとっても重要な変更になることがわかります。 この議論により、いくつかのブログエントリが生まれ、間違いなく継続します。 (詳細については、 最初 、 2番目、 3番目の部分で読むことができます。)
その他の変更
- 作業を高速化するために、Firefox 4は拡張リソースを含むいくつかのファイル、およびそれらのクロム、 JSファイルをより積極的にキャッシュします。 これにより、アドオンの開発時に予期しない動作が発生する可能性があります。一部のファイルへの変更は、対応するキャッシュファイルが削除されるまで適用されないためです。 そして、これは対応するバグです。 (1つまたは別の観点をサポートするためだけにコメントしないでください。そのようなコメントが十分にあります。)つまり、すべての正しい設定を設定し、コマンドラインで「-purgecaches」引数を使用することを確認する必要がありますデバッグプロファイルを実行するとき。 その場合でも、 JSモジュールは更新されませんが、これは今後のFirefoxビルドで修正される可能性が高いでしょう。
- 「User-Agent:...」の行 は 、さまざまな理由で短縮されます。 これらの変更に合わせて行動するAMOエディターは、拡張機能を使用してUA-lineの変更もすぐに追跡します。 不必要な変更を禁止します。 拡張機能でUAを実際に置き換える必要がない限り、対応するコードをすぐに削除することをお勧めします。
- 開発者の1人から、デフォルトでサイドバーにスローされるURLがこのURLを開こうとすると通知されました。 サイドバーがドラッグアンドドロップを処理する場合、 「preventDefault」を同時に使用するようにしてください。
ご覧のとおり、Firefox 4でやるべきことはたくさんありますので、今から始めるのがよいでしょう。 ただし、Firefox 4の開発は大幅に継続しているため、さらに変更が加えられる可能性があることに注意してください。 最初のベータ版のみに基づいてFirefox 4のアドオンの最終バージョンを作成できるとは思わないでください。 Firefox 4についてのニュースに遅れずについていくように時間をかけて注意することをお勧めします。
そしてもちろん、アニメーション(2Dおよび3D)、マルチスレッド、システムライブラリとの相互作用など、拡張機能で驚くべきことを行えるようにする多くの優れた新製品があります。
開発者向けFirefox 4は突然あなたの友人になりました。
また、Hacksブログにも概要があります。