你好,游客 登录 注册 搜索
背景:
阅读新闻

Blazor将.NET带回到浏览器

[日期:2017-07-17] 来源:infoq.com  作者:athan Allen ,译者 谢丽 [字体: ]

由Steve Sanderson开发的Blazor尝试使用WebAssembly和DotNetAnywhere将.NET带回到浏览器。它不是要成为一个像Flash或Silverlight那样的完整生产框架,而是要探索一下有什么可能性。

WebAssembly将自己描述成一个“内存安全的沙箱执行环境”标准,它“甚至可以在已有的JavaScript虚拟机中实现”。虽然WebAssembly在提供原生支持的浏览器中性能更好,但较旧的浏览器可以使用转换器和asm.js解释WebAssembly。

目前,按照设计,WebAssembly主要为C和C++应用程序提供支持。它充当clang/LLVM的编译器后台。为了从C转到C#,Blazor使用了另外一个研究项目。由Chris Bacon开发的DotNetAnywhere是一个基于C面向.NET公共中间语言(即IL、CIL、MSIL)的解释器。DotNetAnywhere项目大约是6年前完成的。

Blazor对DotNetAnywhere做了如下修改:

  • 支持使用Emscripten构建;
  • 支持通过p/invoke在.NET中调用JavaScript;
  • 增加其他的互操作原语,如GCHandle;
  • 接收从JavaScript到.NET的入站调用;
  • 修复了一些Bug;
  • 支持加载.NET Core风格的程序集。

Blazor应用程序使用Razor模板构建,在浏览器中执行,而不是服务器。据Razor文档介绍,一个简单的“hello world”应用程序需要300KB的下载。这包括“所有的东西:一个小型的.NET运行时、核心库、应用程序代码,以及引导和与WebAssembly代码互操作所需的封装库”。

现在尚未剔除没有被实际调用的代码,因此,这个下载量还可以进一步减少。

想要实际地看一下效果的话,请观看NDC大会视频“Web应用无法真正地‘那样’做,它们能吗?——Steve Sanderson”。

查看英文原文Blazor Brings .NET Back to the Browser

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-07/145735.htm

linux
相关资讯       .NET带到浏览器 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款