Blazor从实验移至预览

有了这个新版本,我们很高兴地宣布Blazor现在处于预览阶段 ! Blazor不再处于试验阶段,我们致力于将其提供为受支持的Web界面框架,包括在WebAssembly的浏览器中支持客户端启动。

一年多前,我们启动了Blazor试点项目,目标是创建基于.NET和WebAssembly的客户端Web框架。 那时,Blazor比原型要大一些,并且关于在浏览器中运行.NET的可行性存在许多悬而未决的问题。 从那时起,我们发布了九个实验性Blazor发行版,专门针对各种问题,包括组件模型,数据绑定,事件处理,路由,布局,应用程序大小,托管模型,调试和工具。 现在,我们认为Blazor已准备好迈出下一步。
图片

简化命名和版本控制


之前,在某些情况下,我们使用Razor Components的术语,而在其他情况下,则使用Blazor 。 这令人困惑,因此, 在进行了众多社区审查之后,我们决定放弃ASP.NET Core Razor组件名称,而是返回到服务器端Blazor名称

这强调了Blazor是具有多个托管模型的单个客户端应用程序模型:

  • 服务器端Blazor-通过SignalR在服务器上运行
  • 客户端Blazor-在WebAssembly的客户端上工作

...但是无论如何,它仍然是相同的编程模型。 可以在两个环境中放置相同的Blazor组件。

另外,由于Blazor现在是.NET Core的一部分,因此客户端Blazor软件包现在对应于.NET Core 3.0版本。 例如,我们今天发送的所有预览软件包的版本号是3.0.0-preview4-19216-03 。 我们不再为客户端Blazor软件包使用单独的0.x版本号。

什么以及何时交付


  • 服务器端Blazor将作为.NET Core 3.0的一部分提供。 这已经在去年十月宣布。
  • 客户端Blazor不会作为.NET Core 3.0初始版本的一部分提供,但是我们现在宣布它将作为.NET Core未来版本的一部分提供(因此不再是“实验”)。

在.NET Core 3.0的每个预览版本中,我们将继续提供Blazor的服务器版本和客户端版本的预览版本。

今天的预览版


此预览版本中的新功能:

  • 更新了模板以使用.razor文件扩展名
  • _Imports.razor
  • 范围组件与
  • 新组件项目模板
  • 新的Blazor图标
  • Visual Studio Code中的Blazor支持

有关这些改进的更多信息,请查看ASP.NET Core 3.0 Preview 4公告 。 另请参阅Blazor 发行说明,以获取有关此预览版本的更多信息。

获取Blazor预览


要开始使用Blazor预览版,请安装以下软件:

  1. .NET Core 3.0预览版4 SDK (3.0.100-preview4-011223)
  2. 通过命令行的Blazor模板:

    dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview4-19216-03 
  3. 具有ASP.NET的 Visual Studio 2019 Preview和选定的Web开发工作负载,以及来自Visual Studio Marketplace的最新Blazor扩展或带有最新版本的C#扩展的 Visual Studio Code (现在具有Blazor支持 !)。

您可以在我们的新Blazor主页blazor.net上找到Blazor的入门说明,文档和培训材料。

图片

更新到Blazor预览


要将现有的Blazor应用程序升级以进行预览,请首先确保已安装上面列出的先决条件,然后执行以下步骤:

  • 更新Microsoft.AspNetCore.Blazor中的所有程序包链接*程序包为3.0.0-preview4-19216-03。
  • 删除Microsoft.AspNetCore.Components.Server上的所有程序包链接。
  • 删除Microsoft.AspNetCore.Blazor.Cli中的所有DotNetCliToolReference ,并用指向软件包Microsoft.AspNetCore.Blazor.DevServer的链接替换它们。
  • 在Blazor客户端项目中,删除属性 图片图片
  • 在Blazor客户端项目中,添加一个属性 图片
  • 将所有_ViewImports.cshtml文件重命名为_Imports.razor
  • 将所有剩余的.cshtml文件重命名为.razor。
  • components.webassembly.js重命名为blazor.webassembly.js
  • 删除对Microsoft.AspNetCore.Components.Services命名空间的任何使用,并在必要时将其替换为Microsoft.AspNetCore.Components
  • 更新服务器项目以使用端点路由:

     //  : app.UseMvc(routes => { routes.MapRoute(name: "default", template: "{controller}/{action}/{id?}"); }); // : app.UseRouting(); app.UseEndpoints(routes => { routes.MapDefaultControllerRoute(); }); 
  • 在解决方案中运行dotnet clean以清除旧的Razor声明。

Blazor社区页面现已更名为Blazor


作为Blazor网站更新的一部分我们决定删除Blazor社区页面,而是将人们定向到社区驱动的Awesome Blazor网站。 感谢Adrien Torris保留了这个真棒的Blazor资源列表!

通过Telerik,DevExpress和Syncfusion探索Blazor-UI预览


Blazor在一个积极支持的社区的帮助下进行开发,该社区已将所有可能的应用程序,组件和库示例添加到Blazor生态系统中。 最近,受欢迎的组件供应商(例如TelerikDevExpressSyncfusion )加入了我们的行列 ,并介绍了Blazor UI预览组件。 我们建议您尝试使用这些Blazor UI选项,并让他们知道您的想法。

提供意见


我们希望您喜欢Blazor的预览版。 与以前的版本一样,您的反馈非常重要。 如果在测试Blazor时遇到任何问题或疑问,可以在GitHub上编写 。 如果您遇到困难或想分享Blazor为您工作的方式,还可以在Gitter上与我们和Blazor社区联系。 在测试Blazor一段时间后,请通过参与我们的调查让我们知道您的想法。 启动Blazor项目模板之一时,单击应用程序主页上显示的调查链接:



感谢您尝试Blazor!

Source: https://habr.com/ru/post/zh-CN449556/


All Articles