chrome 拡張機能で c++ バイナリを使用することは可能ですか?
3 に答える
NPAPIは、セキュリティ上の懸念からChrome/Operaから非推奨になりました。
Firefoxをターゲットにしている場合は引き続きNPAPIを使用できますが、Firefoxがトレンドに従っている場合は、ある時点でそれが無効になる可能性もあります。
あなたが今日持っているより良いオプションは
Chromeのみをターゲットにしている場合はNaClを使用してください
代わりにNativeClient(AKA NaCL、AKA PPAPI-Pepper Plugin API)を使用できます
NaCl内で実行されるすべてのコードはサンドボックス化されているため、JavaScript拡張機能と同じくらい安全です。
すべてのプラットフォームをターゲットにする場合は、asm.jsを使用してください
Emscriptenを使用すると、C /C++コードをasm.jsと呼ばれる高度に最適化されたjavascript形式にコンパイルできます。ネイティブに近いパフォーマンスを発揮するように設計されており、現在、Safariを除くグレードAのブラウザから適切にサポートされています。現時点では、Firefoxの方がChromeよりもパフォーマンスが優れています。
主要なブラウザベンダーも、部分的にasm.jsに触発された、WebAssemblyと呼ばれる新しい標準に取り組んでいますが、この記事の時点では、主要な使用法の準備ができていません。
更新2018-05-14
Native Clientは非推奨になり、asm.jsはWebAssemblyに置き換えられています。これは、Web用のC++コードをコンパイルするための新しい標準になりつつあります。
はい、他のブラウザと同様に、拡張機能と通信するNPAPIプラグインを作成できます。
ウィキペディアで一般的な説明を参照してください