您完全有权感到困惑,命名发生了很大变化,当您编写原始问题时,Blazor 团队最近将“服务器端 Blazor”重命名为“Razor 组件”。谢天谢地,这已经被放弃了,请参阅下面的时间表了解更多信息。
对于任何发现此处答案中的命名约定似乎与他们在旧博客文章中阅读的内容不一致的人来说,值得知道“Razor Components”的含义随着时间的推移而反复发生变化。
这也可能对像我这样从一开始就使用 Blazor 并确信名称已更改的人有所帮助!
TL;博士
在预发布期间,命名发生了很大变化。感谢 Microsoft 和 Blazor 团队尝试提出清晰的名称并愿意在需要时改回来。但是,这在旧文章中留下了混合命名约定的遗留问题,一些 Blazor 资深人士有时会使用旧的命名约定。
在 2020 年 9 月撰写本文时,Blazor 版本为 3.2,the official naming convention 是:
Blazor 命名的激动人心的历史
2018 年 10 月:“Razor 组件”成为“Blazor 服务器端”的新名称
当 Blazor 0.6.0 发布时,决定将服务器端 Blazor 正式命名为“Razor Components”。
Dan Roth 在 2018 年 10 月的 Blazor 0.6.0 experimental release now available 博客文章中讨论了这一点:
我们上个月在 .NET Conf 上宣布我们决定迁移
将 Blazor 服务器端模型作为 ASP.NET 的一部分进行交付
.NET Core 3.0 中的核心。大约一半的 Blazor 用户表示他们
将使用 Blazor 服务器端模型,并在 .NET Core 中发布
3.0 将使其可用于生产。作为将 Blazor 组件模型集成到 ASP.NET Core 的一部分,我们决定提供
它是一个新名称,以区别于在 .NET 中运行的能力
浏览器:Razor 组件。
ASP.NET Core updates in .NET Core 3.0 Preview 2 博客文章中也对此进行了更多讨论。
2 月 19 日:命名很难......
可能由于出现混淆,服务器端 Blazor 的 Razor 组件名称已扩展为“ASP.NET Core Razor 组件”。 Blazor 0.8.0 release notes中提到了这一点:
服务器端 Blazor 现在是 .NET Core 中的 ASP.NET Core Razor 组件
3.0 正如最近宣布的那样,服务器端 Blazor 现在作为 .NET Core 3.0 中的 ASP.NET Core Razor 组件发布。我们已经集成了
Blazor 组件模型到 ASP.NET Core 3.0 并重命名为 Razor
成分。 Blazor 0.8.0 现在基于 Razor 组件构建并启用
您可以在 WebAssembly 的浏览器中托管 Razor 组件。
2019 年 4 月:切换回服务器端 Blazor
在 April 2019 Blazor server side went into official preview 中,服务器端 Blazor 的命名被切换回:
简化命名和版本控制
一段时间以来,我们在某些情况下使用术语 Razor 组件,在其他情况下使用 Blazor
案例。这已被证明是令人困惑的,所以遵循了很多
社区反馈,我们决定放弃名称 ASP.NET Core Razor
组件,并改为返回名称 Server-side Blazor。
这强调了 Blazor 是一个单一客户端应用模型,具有多个
托管模型:
-
服务器端 Blazor 通过 SignalR 在服务器上运行
-
客户端 Blazor 在 WebAssembly 上运行客户端
...但无论哪种方式,它都是相同的编程模型。相同的布雷泽
组件可以托管在这两种环境中。
请注意,在上面的描述中根本没有提到 Razor 组件,现在我们有两种不同的 Blazor 托管模型(客户端和服务器端)作为将 Blazor 组件传递到浏览器的方式。
2019 年 9 月“Razor Components”回归
Dan Roth 的 Blazor 和接下来几个版本的 .NET Core 发行说明根本不再提及“Razor 组件”一词,直到 .NET Core 3.0 Preview 9 再次以“Razor 组件单元测试框架原型”的名义出现该术语.
2020 年 5 月“Razor 组件”=“Blazor 组件”。介绍“Blazor 服务器”和“Blazor WebAssembly”
到 2020 年 5 月,Razor 组件和 Blazor 组件现在已被用作彼此的同义词,并且这两种托管模型的命名已经演变。
Blazor WebAssembly 3.2.0 now available 博客描述如下(我的重点):
Blazor 组件 然后可以以不同的方式托管以创建您的网络应用程序。第一种支持的方式称为 Blazor Server。在
一个 Blazor Server 应用,组件使用 .NET Core 在服务器上运行。
还有……
Blazor WebAssembly 现在是托管 Blazor 组件 的第二种受支持方式:在浏览器中使用基于 WebAssembly 的 .NET 客户端
运行时。
所以.. 'Razor Components' 这个词正式死了,对吧?
如果是这样,那就容易多了.. 看起来“Blazor 组件”会更自然。但是没有,来自Components section of the official documentation:
Blazor 中的组件正式称为 Razor 组件。