Firefox にはプラグインと拡張機能があります。これらのアドオンの名前とタブが異なる理由を教えてください。それらはあまりにも異なっているので、異なる名前が必要ですか?これらを区別するのは少し不自然だと思います。拡張機能には非常に多くの機能があり、プラグインと比較して不足しているものは何ですか?
3 に答える
違いは歴史的かつ現実的です。
- プラグインは、もともとNPAPIから派生したコンパイル済みのロード可能なモジュールです。それらはブラウザーのプロセス空間の外に存在する可能性があります (これは、あらゆる種類の興味深い相互運用性の問題と脆弱性につながります)。これらの最も一般的な例は、Flash と Java です。どちらも、Web ページ内のサブウィンドウ (「viewport」または「canvas」(HTML5 ではなく
canvas
、まったく別のものです。Web ページのネイティブ部分)) を要求し、それ自体を処理します。ブラウザからはほとんど独立した方法で。 - 拡張機能は、主に JavaScript とXULで記述されています。拡張機能はブラウザーの一部として機能するため、JS-in-a-webpage よりも広いアクセス権限を持っていますが、それでもいくつかの制限があります。統合の最も一般的な方法は、FF の機能の一部にフックして拡張することです。
したがって、プラグインと拡張機能は関連しているように見えるかもしれませんが、舞台裏の技術は大きく異なります。
According to Mozilla, plugins help the browser display content, such as playing media. Extensions actually add new functionality to the browser.
See the first couple paragraphs here: https://developer.mozilla.org/en/extensions
1 つは、Firefox と並行して実行されるプログラムです。キャンバスを取得し、キャンバスにペイントすると、Firefox がレンダリングします。注目すべき例: Flash、Java、QuakeLive。
もう 1 つは、Firefox の JavaScript インタープリター/コンパイラーで実行されるプログラムです。これらは、Firefox の内部にアクセスでき、単なるキャンバスではないため、Firefox の機能をより直接的に拡張します。また、オペレーティング システムの基盤となるサポートをそれほど必要としないため、移植性がはるかに高くなります。
どちらのアプローチにも長所と短所があり、それぞれ異なるタスクを解決します。