2

Qt-creator SDK を使用して記述された C++ モジュールがあります。このコードを移植して、ソース コードをエンド ユーザーに提供することなく、任意の Web ページで実行できるようにしたいと考えています。ユーザーは、追加のブラウザー プラグインをインストールしなくても、任意のブラウザー (Chrome、Firefox、Safari、Explorer) でこのモジュールの出力を表示できる必要があります。これを達成するために利用できるより良いオプションは何ですか。私はググって、そのようなオプションをいくつか見つけました:

  1. Google ネイティブ クライアント (NaCl) - ただし、Chrome でのみ実行されます。これが Web アプリケーションの未来ですか??
  2. PPAPI - NaCl と同じかどうかは不明
  3. NPAPI - ほぼ非推奨
  4. Emscripten - c++ を js に変換します. したがって、ソースコードはユーザーに表示されます。
  5. WebAssembly

私が探しているものを達成するための他のオプションはありますか? そうでない場合は、上記のオプションからどれを選択する必要がありますか!? よろしくお願いします。a

4

1 に答える 1

3

明確化:

  1. NaCl は、Chrome 以外のブラウザーではサポートされません。私たち (Google の NaCl/WebAssembly チーム) は、将来に向けて WebAssembly により重点を置いています。
  2. PPAPI は、NaCl によって使用される API のセットです。
  3. NPAPI: 途中で、とにかくプラグインのインストールが必要です。
  4. エムスクリプト。C++ を JS にコンパイルしますが、ソース コードがユーザーに公開されるとは言いません。通常のコンパイルと最適化のプロセスによって大幅に変換されており、ソース コードというよりもマシン コードに近いと言えます。さらに、emscripten に WebAssembly のサポートを追加することで、WebAssembly をサポートするブラウザー用の WebAssembly と、まだサポートしていないブラウザー用の asm.js を同じソースで作成できるようになります。
  5. WebAssembly は未来であり、すべての基準を満たしますが、wasm で使用できるブラウザー API と機能は JavaScript で使用できるものと同じであることに注意してください。したがって、たとえば、ユーザーのファイルシステムに無制限にアクセスすることはできません。主要な 4 つのブラウザー ベンダーはすべて webassembly を実装していますが、これらのブラウザーのリリース スケジュールはそれぞれのオペレーティング システムから切り離されているため、最初に Chrome と Firefox に実装する必要があります。

コードを emscripten で移植することをお勧めします。今日からそれを開始して asm.js を使用できます。WebAssembly が起動したら、最小限の労力でそれをターゲットにすることができます。将来的には、wasm をサポートする他のツールチェーンや言語が登場する予定ですが、現時点では emscripten だけがすぐに使用できる唯一のオプションです。

于 2016-12-16T05:53:29.787 に答える