BT

InfoQ ホームページ ニュース Blazor、.NETをブラウザに連れ戻す

Blazor、.NETをブラウザに連れ戻す

ブックマーク

原文(投稿日:2017/07/14)へのリンク

Steve Sanderson氏のBlazorは、WebAssemblyを使って.NETをブラウザに連れ戻す実験的なプロジェクトだ。FlashやSilverlightのような完全なプロダクションフレームワークではなく、何ができるのかを調べるためのものだ。

WebAssemblyは自らを「既存のJavaScript仮想マシン内で実装することもできる、メモリセーフでサンドボックス化された実行環境」のためのスタンダードだと説明する。WebAssemblyをネイティブサポートするブラウザではより性能が向上するが、コンバータとasm.jsを使うことで、古いブラウザでも解釈することができる。

今のところ、WebAssemblyはCとC++アプリケーションのサポートを第一として設計されており、clang/LLVMのコンパイラバックエンドとして動作する。CからC#にするため、Blazorは別のリサーチプロジェクトを利用することにした。Chris Bacon氏のDotNetAnywhereは、.NETのCLI(Common Intermediate Language、IL、MSIL)のためのCで書かれたインタプリタだ。DotNetAnywhereプロジェクトは約6年前に終了している。

Blazorでは、DotNetAnywhereに次のような変更を行っている。

  • Emscriptenを使ったビルドをサポート
  • .NETからJavaScriptへのp/invoke呼び出しをサポート
  • GCHandleなどの相互運用プリミティブを追加
  • JavaScriptから.NETへのインバウンド呼び出しを受信
  • バグ修正
  • .NET Coreスタイルのアセンブリのローディングをサポート

Blazorアプリケーションはサーバーではなくブラウザで実行されるRazorテンプレートを使って作られている。ドキュメントによると、シンプルな「Hello world」アプリケーションで、300KBのダウンロードが必要になる。これには「すべてのもの: 小さな.NETランタイム、コアライブラリ、アプリケーションコード、ブートストラップとWebAssemblyコードとの相互運用に必要なラッパーライブラリ」が含まれている。

実際に呼び出されていないコードの削除はしていないため、このサイズはさらに削減可能だ。

実際に見たければ、NDC Conferenceのビデオ(タイトル「Web Apps can’t really do *that*, can they? - Steve Sanderson」)を見てみよう。

Rate this Article

Adoption Stage
Style

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。