2009-11-03 16 views

答えて

15

はい、他のブラウザと同様、拡張機能とcomunicateするNPAPIプラグインを作成できます。

at code.google.com

関連するGoogleのページを参照してください。そして、もっと一般的な記述at wikipedia

+0

NPAPIとして最初に書くのはなぜですか? – Pacerier

36

NPAPIは、セキュリティ上の懸念のためにクローム/オペラから廃止されました。

Firefoxをターゲットにしている場合でもNPAPIを使用できますが、Firefoxがトレンドに従うと、いつでもNPAPIが無効になることがあります。すべてのコードが実行

-

あなたが今日持っているより良いオプション

使用NaClが、あなたは が

あなたが代わりにNativeClient(ペッパープラグインAPI AKAのNaCl、AKA PPAPI)を使用することができますChromeのみ

ターゲットにされている場合NaClの内部はサンドボックス化されているので、javascriptの拡張機能と同じくらい安全です。

使用asm.jsあなたはEmscriptenを使用するすべてのプラットフォームに

をターゲット場合はasm.js.と呼ばれる高度に最適化されたJavaScriptの形式にC/C++コードをコンパイルすることができますこれは、本来の性能に近く設計され、現在はdecent support from grade-A browsers except Safariです。現時点ではFirefoxよりもパフォーマンスがChromeより優れていますが

ブラウザベンダーも、部分的にasm.jsに触発されWebAssemblyと呼ばれる新しい標準に取り組んでいる主要な、しかし、この記事のようプライムの使用のための準備ができていない

+0

PPAPIのブラウザサポートとは何ですか?これはChrome専用のものなので、今後他のブラウザで利用される可能性はほとんどありません。 – Pacerier

+0

PPAPIは現在Chromeをベースにしているので、Operaでもサポートされています。 – Eduardo

+0

NPAPIの方がはるかに優れているわけではないことに注意してください。これは、現時点ではSafari/Firefoxのみでサポートされています。 IEは、Microsoft Edgeでも廃止されたActiveXを使用していました。ネイティブのブラウザプラグインを構築することは、私が推測するように、簡単に実行可能なクロスブラウザではありません。 – Eduardo

0

としては、上、あなたはクロムのためのNaClを使用することができたとasm.jsとEmscriptenはすべてのプラットフォームで使用できますが、リバースエンジニアリングはバイナリより簡単です。今すぐ中間解決策があります:webassembly - ブラウザーに埋め込まれたLLVMバイトコードは、最新のブラウザーhttps://caniuse.com/#feat=wasmでサポートされています。 EmscriptenはC++をwasmにコンパイルできます。ほとんどの場合、asm.jsより高速です。

関連する問題