原文地址:devblogs.microsoft.com/aspnet/blaz…
原文作者:devblogs.microsoft.com/aspnet/auth…
发布时间:2020年5月19日
我很高兴地宣布,Blazor WebAssembly已经正式发布。这是一个功能齐全、得到支持的Blazor WebAssembly版本,已经可以投入生产使用。现在,使用.NET进行全栈式Web开发已成为可能。
开始吧
开始使用Blazor WebAssembly很简单:只需访问 blazor.net ,并安装最新的.NET Core SDK(3.1.300或更高版本),其中包括构建和运行Blazor WebAssembly应用程序所需的一切。
然后,您可以通过运行以下程序创建并运行第一个Blazor WebAssembly应用程序。
dotnet new blazorwasm -o BlazorApp1
cd BlazorApp1
dotnet run
浏览https://localhost:5001,然后*就可以了*!你刚刚构建并运行了你的第一个Blazor WebAssembly应用程序。您刚刚构建并运行了您的第一个Blazor WebAssembly应用程序。
为了最大限度地提高Blazor的工作效率,请确保为您选择的平台安装支持的Visual Studio版本。
- Windows:Visual Studio 2019 16.6
- macOS:Visual Studio for Mac 8.6
- Windows/macOS/Linux:带有C#扩展的Visual Studio Code
你可以在 blazor.net 找到更多的文档和样本。
升级现有项目
如果你已经有了一个现有的Blazor WebAssembly项目,你可以通过以下方式将其从3.2.0候选版本升级到3.2.0正式版。
- 更新所有 Microsoft.AspNetCore.Components.WebAssembly.* 和System.Net.Http.Json包引用到3.2.0版本。
就这样,你已经准备好了。
什么是Blazor WebAssembly?
如果你是第一次了解Blazor,让我来介绍一下Blazor WebAssembly是怎么回事。
Blazor是一个开源和跨平台的Web UI框架,用于使用.NET和C#代替JavaScript构建单页应用。Blazor基于强大而灵活的组件模型来构建丰富的交互式Web UI。您可以使用.NET代码和Razor语法的组合来实现Blazor UI组件:HTML和C#的优雅融合。Blazor组件可以无缝地处理UI事件,绑定用户输入,并有效地渲染UI更新。
然后,Blazor组件可以以不同的方式托管,以创建您的Web应用程序。第一种支持的方式称为Blazor服务器。在Blazor Server应用中,组件使用.NET Core在服务器上运行。所有UI交互和更新均使用与浏览器的实时WebSocket连接进行处理。Blazor Server应用程序加载速度快,实施简单。.NET Core 3.1 LTS可支持Blazor Server。
Blazor WebAssembly现在是第二种受支持的托管Blazor组件的方式:使用基于WebAssembly的.NET运行时在浏览器中的客户端。Blazor WebAssembly包含一个以WebAssembly实现的适当的.NET运行时,WebAssembly是一种标准化的网络字节码。该.NET运行时与您的Blazor WebAssembly应用程序一起下载,可以直接在浏览器中运行正常的.NET代码。无需插件或代码转换。Blazor WebAssembly适用于所有现代网络浏览器,包括桌面浏览器和移动浏览器。与JavaScript类似,Blazor WebAssembly应用程序可在浏览器的安全沙盒内安全地运行在用户的设备上。这些应用程序可以作为完全独立的静态网站进行部署,完全不需要任何.NET服务器组件,也可以与ASP.NET Core搭配使用,以实现.NET的全栈式网络开发,其中代码可以毫不费力地与客户端和服务器共享。
功能齐全
Blazor WebAssembly拥有丰富的功能,可以让您在下一个Web应用项目中保持高效。
- 利用C#的生产力和强大的运行时类型。
- 建立在稳定而成熟的.NET生态系统上。
- 在客户端和服务器上轻松重用代码和现有的.NET标准库。
- 与Blazor服务器应用程序共享组件模型。
- 将您的应用程序作为一个独立的静态站点进行部署,或使用ASP.NET Core进行托管。
- 构建具有离线功能和本地操作系统集成的渐进式网络应用(PWA)。
- 内置的认证支持。
- 集成的全球化和本地化支持。
- 基于环境的配置。
- IL修剪和构建时预压缩。
- 全栈调试。
- 与Visual Studio、Visual Studio for Mac和Visual Studio Code的出色工具。
Blazor在行动
Blazor WebAssembly拥有构建功能齐全的生产型Web应用所需的一切。要查看所有这些Blazor WebAssembly功能的实际应用,请查看Steve Sanderson的按需BUILD课程(链接应在太平洋时间中午12点后上线):利用Blazor WebAssembly实现现代Web UI。
现成的组件
当然,任何网络应用都需要美观且功能丰富的组件。我们的优秀合作伙伴提供了各种Blazor UI组件,这些组件在任何Blazor应用中都能发挥出色的作用,包括Blazor WebAssembly应用。
开放源码社区
Blazor还拥有一个繁荣的开源社区和生态系统。社区成员(和你一样的人!)已经构建了许多优秀的组件库、互操作库、测试框架等,然后将它们免费提供给你使用。一些伟大的例子包括
- Blazored
- Blazorise
- MatBlazor
- BlazorStrap
- Ant Design Blazor
- bUnit
- Blazor Extensions
你可以在Awesome Blazor GitHub repo上找到这些社区项目和其他许多项目。
LTS还是当前版本?
Blazor WebAssembly 3.2.0是在.NET核心支持策略下的完全支持版本。由于这是Blazor WebAssembly的第一个版本,它是一个Current版本,而不是LTS版本;它没有继承.NET Core 3.1的LTS状态。这意味着,一旦Blazor WebAssembly在今年晚些时候与.NET 5一起发布,你将需要升级到.NET 5以保持支持。我们预计.NET 5中的Blazor将是一个高度兼容的版本。
下一步是什么?
现在我们已经发布了Blazor WebAssembly,我们正在将注意力转移到.NET 5上。我们已经开始了使Blazor WebAssembly与.NET 5兼容的工作,预计下个月将完成预览。
我们还在研究.NET 5和6版本的一些Blazor功能和改进。您可以在GitHub上的Blazor Roadmap for .NET 5问题中查看我们正在考虑的核心交付物列表。请注意,我们认为这个列表是非常理想的。虽然我们希望能够实现所有列出的改进,但仍有许多未知数,而且计划肯定会随着我们的发展而改变。我们也希望能有很多小的改进,我们也会实现。
我们还将继续与Xamarin团队的朋友们合作,通过Mobile Blazor Bindings项目,为使用Blazor构建本地UI提供实验性支持。这包括一些探索为本地应用构建混合UI的早期努力,我们希望能尽快分享更多信息。
谢谢大家
我们衷心感谢Blazor社区在我们努力实现发布的过程中给予的所有热情支持。Blazor社区为Blazor生态系统贡献了大量的Blazor文章、博客文章、文档、示例应用程序、库、书籍、视频、演示文稿、研讨会、课程、见面会、功能建议和反馈问题,即使在Blazor还处于预览阶段时,这些内容也非常出色。对于每一位帮助实现这一版本的人,谢谢你们! 没有你们的帮助,我们是不可能实现的。
今天就来试试Blazor吧
我们希望你喜欢这个Blazor WebAssembly的版本。今天就去 blazor.net ,试试Blazor吧。我们期待着看到你用它创建的作品。
如果你有任何关于Blazor的反馈问题,请通过在GitHub上提交问题来告诉我们。
通过( www.DeepL.com/Translator )(免费版)翻译