Fork me on GitHub

Blazor 准备好为企业服务了吗?

如果您正在编写 .NET Web 应用程序,您很可能已经意识最近一年在.NET Web开发领域的热点都是 Blazor 的。如果你还没有了解Blazor,它允许您使用 C# 来编写 Web UIs,传统上您必须使用 JavaScript。 过去两年,我已经看到它从一个可爱的微软实验项目演变成他们认为是生产就绪的项目的全过程。

随着下周正式发布.NET 5 ! 我们看到Blazor的很多改进:CSS隔离、JavaScript隔离组件虚拟化切换事件支持、延迟加载、服务器端预渲染等等。这些改进可帮助 Blazor 赶上领先的 SPA 框架的基本功能,如 Vue、React 和 Angular。

如果你是为一家规模合适的公司编写代码,你可能会想Blazor 是否已经为企业应用开发做好准备了。你能说服你的老板们用它做新的应用开发, 还可能是重构现有的应用程序吗?我想已经准备好了。然而,这不是一个容易的回答"是"--它涉及到一个微妙的答案,不仅仅是新技术的问题。这里先分享一篇相关的英文文章:

我们将回答一些常见问题来回答这个问题:

Blazor是另一个Silverlight吗?

如果你使用 Blazor开发了一小会儿,肯定感受到这是一个无理的论点,通常问这个问题的都是对Blazor 不了解而凭感觉提出的问题,但这是一个你在 .NET生态中必须回答的问题。 Blazor 是基于 WebAssembly 标准构建的(使用 C# 而不是 JavaScript 来构建 Web 应用程序),而不是使用可以突然被放弃的微软独家技术构建的。它不需要像Silverlight那样的浏览器插件。

Blazor如何帮助团队更快地交付?

Blazor 降低了通常与 JavaScript 关联的前端学习曲线,并允许开发人员使用他们的语言和工具完成工作。Blazor不会取代JavaScript 。但是,如果您是服务与一家拥有大多数 C# 开发人员的公司,则工作效率将明显提高。 团队只需要熟悉核心 SPA 概念,但 .NET 领域的知识都是可以复用的,非常典型的一种情况就是大量从事Winform开发的同学,转换到Blazor开发Web的速度将会是很愉快。

是否支持良好的生态系统?

由于 Blazor 是在 .NET 生态系统中,因此它也具有了微软的官方支持,就像任何其他产品一样。此外,Microsoft 继续投入大量精力,并且具有悠久的向后兼容性历史。 生态系统不像Angular和 React 那样进化,它们已经取得了非常大的发展,但正在极大地增长。正如彼得·沃格尔所说,Blazor 已经和 Vue 相比,具有 25%的收益(来自谷歌趋势)。

性能好吗?

与其他 SPA 框架相比,Blazor 的性能是不是够好了? 在大多数情况下,会有一些等待 - Blazor Web Assembly 具有较大的下载大小(如它在浏览器中加载的 .NET),并且 Blazor Server 具有每个用户交互的网络跃点。.NET团队在解决性能方面取得了很大进展,AOT 编译是 .NET 6 中 ASP.NET 的最大的功能请求(并且也会影响 ASP.NET 中的非 Blazor 应用程序)。如果您正在处理海量数据,您可能需要等待这些改进,但在大多数业务情况下应该适合这些改进。

相关文章

posted @ 2020-11-07 09:10  张善友  阅读(2837)  评论(7编辑  收藏  举报