[Web翻译]Blazor WebAssembly 3.2.0 现已上市。

2,717 阅读6分钟

原文地址: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版本。

你可以在 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 )(免费版)翻译