2017-04-24 6 views
4

WebAssemblyポストMVP、asm.jsが非推奨になると確信しています。現在でも、いくつかの既存のasm.jsプロジェクトで、WebAssemblyの使用が開始されています。 JSエンジン(V8)もasm.jsをWebAssemblyに組み込み始めています。したがって、古いプロジェクトが移行しなくても、エンドユーザはWebAssemblyの部分的な利点を引き続き得られます。WebAssemblyポストMVP後のネイティブクライアントの将来

私の質問はネイティブクライアントはどうですか? JSエンジンには実装されていないので、問題になる可能性があります。ネイティブクライアントは現在でも廃止されているようです。近い将来、ネイティブクライアントはChromeから完全に削除されますか?私はChromeのバイナリサイズをいくらか縮小したいと思っています。

サイド質問:

  • スレッド/ GC/SIMD /例外の後はWebAssemblyに含まれている、まだネイティブ・クライアントはなく、(移動を阻止する)WebAssemblyに欠けているものがありますか?
  • WebAssemblyはMVPに到達するのに約2年しかかかりませんでしたが、Post-MVPのいずれかが最終決定される予定はありますか?
  • WebAssemblyグループは、複数のポストMVP機能を1つずつではなく一度に取り組んでいるようですが、そのうちの1つをファイナライズするのが遅くなるのではないでしょうか?

答えて

3

Native Clientで作業していないため、サイド質問のみに回答します。 Googleの計画は独自のものなので、これをwikiにします。

更新から2017/05/20 NaCl isn't in glibc。これは元々サポートされていたlibcで、クリーンアップとアップストリームにはかなりの時間がかかりました。これはNaClのGCCツールチェーンでのみサポートされていました。より最新のLLVMベースのNaClおよびPNaClツールチェーンで動作するmusl libcのサポートは引き続きあります。

更新 2017/05/30現在、Chromiumチームはthe fate of PNaCltentative roadmap of WebAssembly featuresを発表しました。それは非同期通信を強制するため、多くのバグを考慮

アウトオブプロセス
  • を、:ここ

    はあなたが言及していないいくつかのNative Clientの機能です。これにより、アドレス空間が保証されます。これは、64ビット版ではあまり上向きではなく、Native Clientのダブルサンドボックス設計にとって重要でした。 WebAssemblyにはまだプロセスがありません。

  • postMessageAndAwaitResponseまでのJavaScriptイベントループとの間でブロックしています。多くの人にはバグとしても見られます。
  • 多くのAPIがあります。Pepperです。多くの場合、WebプラットフォームのAPIを反映しています。
  • mprotectでメモリ保護を実行できます(実行ページは制限されています)。
  • POSIXシグナルを処理できます。
  • 計算されたgotoおよびその他既定の制御フローをサポートします。
  • ジャストインタイムコードのパッチをサポートしています。
  • アトミックがseq_cstより小さい値をサポートします。
  • NaCl検証規則に従う限り、インラインアセンブリをサポートしています。

ただし、これらのすべてがPortable Native Clientにあるわけではありません。 official documentation of differencesがあります。

MVA以降のWebAssembly機能のタイムラインはありません。私たちは何か急ぐことは望まないが、最も有用なものを最初に提供したい。それはコミュニティーグループなので、優先順位は本当に関係者の誰かによって推進されます。実装は一度にフィーチャに取り組むことはできませんが、探査は並列化されます。