翻译自:Study Blazor .NET,转载请注明。
介绍
Blazor是一个全新的 Web UI 框架,它使用c# 、Razor 和 HTML以及 WebAssembly W3C标准。它提供了用C#而不是Javascript构建交互式网页的功能。
Web Assembly(Wasm)
Wasm是W3C开放标准,目的是在浏览器中运行低级字节代码。基于此标准,我们可以在浏览器中直接运行服务端语言(Rust,C++,C#…)代码,从而代替Javascript。
还记得Java applets 和 Microsoft silverlight技术吗?那时候我们不得不在浏览器中安装插件才能运行Java和C#代码,但是WebAssembly提供了基础标准,现在不需要任何插件了。二进制格式以.wasm 文件表示,提供接近本机的性能。
SPAs
单页应用程序(SPA)是指web应用程序建立在浏览器的单个页面上,并且页面块在不需要渲染整个页面的情况下动态渲染。
Angular,React,Vue和一些其他语言都支持构建单页应用程序,但是这些语言都是在Javascript的基础上构建。现在,微软为使用C#构建单页应用程序提供了基础,在ASP.Net Core中使用类似Razor语法的c#,叫做Blazor。
ASP.Net Core
ASP.Net core是可以运行在Linux、Mac和Windows操作系统中的开源web框架。现在ASP.Net core提供了新的web框架Blazor,可以在浏览器中使用c#和WebAssmbly标准构建单页应用程序。
组件
在单页应用程序里,页面中基于用户交互动态渲染的区块称为组件。单页应用程序就是组件的集合,同时它也支持客户端路由以提供类似多页面和页面导航的功能。
优点
- 提供近乎原生的性能、高效和可移植性。
- 我们可以使用现有的丰富的.net生态系统,在网页中包含例如Office工具和其他来自 Nuget 的工具。
- 代码维护和调试更加可靠。
缺点
- Javascript已经非常成熟并且市场上已经存在很多相关的库。
- 使用Web Assembly标准的Blazor对于市场来说是全新的,需要时间成熟,并且.net技术在WebAssembly应用方面也还处于初期阶段。