Blazor 正式成为 Microsoft 官方.NET 和 WebAssembly 项目

  • David Iffland
  • 刘嘉洋

2018 年 2 月 21 日

话题:.NETJavaScript语言 & 开发

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Microsoft 从 Blazor 的开发者 Steve Sanderson 手中接手了这款应用程序,自此,将.NET 在浏览器运行的计划又更进了一步。由此,Microsoft 又进一步扩充了自己的 WebAssembly/.NET 栈,更进一步帮助.NET 开发人员搭建基于浏览器的应用程序。

在一篇博文中,Dan RothBlazor 是一种“新的实验”,.NET 开发人员可以使用它搭建 web 浏览器单页应用程序。有人可能不太理解这篇报道,因为 Blazor 是由 Microsoft 的工程师 Steve Sanderson 最早开发,并在 2017 年中期首次展示,为何 Microsoft 还要接手呢?实际上,这个项目现在正式成为 ASP.NET 项目的一部分,而不仅仅只是一个个人项目了。Sanderson 在其博客中的文章提供了更多的相关细节:

今天,ASP.NET 团队宣布 Blazor 正式成为 ASP.NET 项目的一部分,我们也在实验阶段,尝试将它开发为一款辅助产品。

Sanderson 称,Blazor 虽然是基于一些 JavaScript 框架,比如 React、Vue 和 Angular,但是它也与 ASP.NET 程序员熟悉的一些技术相结合。

Blazor 将拥有和其他 web 应用程序框架相类似的功能集,比如组件模型、路由以及 JavaScript 交互操作。例如组件可以通过 C# 类或是 Razor 页面实现。路由和布局通常是 web 框架的基本功能,但也是有操作空间的,仅需保持负载尽量小即可。

JavaScript 生态圈非常巨大,JavaScript 开发人员可以参考许多现有库进行开发。Sanderson 表示,团队正在尝试使用现有的 TypeScript 定义文件,提供调用 C# 代码的工具支持。

Blazor 项目是基于 Mono 团队将 C# 编译为 WebAssembly的工作进行的。Mono 团队的工作是非常底层的,并没有为任何典型的 web 应用程序开发提供任何框架,而仅仅只是在浏览器中运行.NET。

Blazor 成为 ASP.NET 项目的一部分意味着,它将获得更多资源,会以更快的速度发展,但现在就宣布它已经是生产级别的产品还为时过早。

在实验阶段,我们希望和 Blazor 早期使用者保持紧密联系,听到他们的反馈和建议。这可以帮助我们解决在浏览器中运行.NET 的技术问题,并帮助我们创造出开发人员爱用、实用的产品。

WebAssembly 是二进制格式的,旨在给 web 开发人员提供近乎原生的浏览器性能,而不需要额外解析 JavaScript。所有主要的浏览器都提供对它的支持

查看英文原文Blazor Now an Official Microsoft .NET and WebAssembly Project


感谢冬雨对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

.NETJavaScript语言 & 开发