2016-12-11 6 views
2

私はQt-creator SDKを使用して書かれたC++モジュールを持っています。私はこのコードを移植して、ソースコードをエンドユーザーに妥協することなく、どのWebページでも実行したいと考えています。追加のブラウザプラグインをインストールすることなく、ブラウザ(Chrome、Firefox、Safari、Explorer)上でこのモジュールの出力を見ることができるはずです。これを達成するためのより良い選択肢は何ですか?グーグルネイティブクライアント(NaCl) - Google Chromeは、Chromeでのみ動作しますが、グーグルではこのようなオプションはほとんど見つかりませんでした:ブラウザ(Webアプリケーション)にC++コード(ネイティブクライアント)を移植する

  1. これはWebアプリケーションの未来ですか?
  2. PPAPI - それはNaClの
  3. NPAPIと同じであるかどうかわからないが - ほとんど
  4. Emscriptenを廃止予定 - それはJSにC++を変換します。したがって、ソースコードはユーザーに表示されます。
  5. WebAssembly

私が探していますWAHT achievceする他のオプションはありますか?私は上記のオプションから選択する必要がありますか?事前に多くの感謝。

+0

[WebSockets](http://doc.qt.io/qt-5/qtwebsockets-index.html)を使用することができます。 –

+0

素早く対応してくれてありがとうFrogatto。正確に私が探しているのは、自分のC++モジュール全体をHTMLページに埋め込み、どのブラウザでも実行したいのです。 – Raju

+0

ブラウザ拡張機能を作成しようとしていますか?ウェブアプリ?他に何か?この質問の目標は非常にあいまいです。 – MrEricSir

答えて

2

いくつかの明確化:

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

私の提案は、emscriptenでコードを移植することです。これを今日始めることができ、asm.jsを使用することができます.WebAssemblyが起動すると、最小限の労力でそれをターゲットにすることができます。将来はwasmをサポートする他のツールチェーンと言語が存在しますが、今日はemscriptenが実際にはすぐに使える唯一のオプションです。

関連する問題