Blazor和JavaScript:谁是前端应用的首选框架?语言。但最近,微软推出了一个名为Blazor的框架,使我们能够使用C#语言开发基于浏览器的应用程序。本文将带您了解Blazor以及为何如此大肆宣传,并将其与JavaScript进行比较。什么是Blazor?Blazor(Browser+Razor)是微软公司推出的一种全新的网站开发框架。它可以在使用HTML和CSS的同时,使用C#语言和Razor语法开发基于浏览器的应用程序。以前,要在浏览器中呈现HTML,开发人员需要在服务器端执行Razor视图——但现在,Razor视图可以在客户端执行。由于Blazor使用WebAssembly,我们不需要在Web浏览器中安装任何第三方插件或附加组件。借助Blazor,您可以使用C#语言开发客户端和服务器端口,并通过共享库和代码让工作变得更加舒适。作者提供的截图:Blazor示例代码广为流传的原因Blazor的排名在短时间内上升得如此之快,以至于人们将其与广受欢迎的javascript框架相提并论。关于客户端网站开发的未来有很多讨论,这些讨论和比较使Blazor更受欢迎。让我们来看看是什么让Blazor与众不同。正如我在开头提到的,Blazor的主要亮点是能够使用C#语言开发和执行基于浏览器的应用程序。在过去的几年里,JavaScript(或TypeScript)一直是创建前端的首选编程语言。如果您是.NET开发人员,则必须额外学习JavaScript才能成为全栈Web开发人员。使用Blazor,您可以使用C#语言同时开发服务器和客户端。对我来说,这是Blazor的主要优势。与JavaScript不同,Blazor预编译为中间语言。对于在浏览器中运行的性能要求很高的应用程序,此功能具有显着优势。此外,当需要更多处理能力时,Blazor应用程序可以离线工作一段时间,例如PDF生成器、游戏算法等。除了上述之外,Blazor还有更多的特性/优点:Blazor不需要浏览器插件启用完整的.NET调试使用最新的Web浏览器功能构建用户界面模型强大的浏览器兼容性(即使对象是旧版本)依赖注入在用户和服务器JavaScript与服务器之间共享代码。BlazorBlazor会取代JavaScript吗?JavaScript会保持其主导地位吗?每个人都在寻找答案。现在就这些问题做出直接预测或结论还为时过早,但我们可以将一些占主导地位的JavaScript框架与Blazor进行比较,以了解差异。Blazorvs.React许多人认为React是用于Web组件开发的最佳库。虽然很难比较两者,但我们不得不承认React构建精良,拥有良好的记录,并且拥有强大的社区。没有优秀的库和框架,React生态系统就无法蓬勃发展。我认为这个过程中的工具和库,像Bit(Github),是可以帮助管理和共享React组件的制动器,并且是真实存在的。这使得React成为“通用语言”,能够为Web、CLI、iOS、Android、Windows等提供应用程序库。结合像Bit这样的组件共享工具,React很难被击败。相比之下,Blazor是相当新的,但继承了其精心打造的对应产品Razor的风格,因此我们认为它对开发人员来说并不是全新的。此外,由于Blazor开发使用C#语言,因此对于任何.NET开发人员来说,转换都会更快。虽然成熟的React自带了很多特性和优势,但我们也注意到Blazor也有很多不分年龄的高级功能。与React类似,我们也可以将Blazor部署为静态文件。您可以使用NuGet包。可以在客户端和服务器端使用相同的组件。(当然,这在使用JS/TS时也是可以的)Blazor内置了对路由、验证和表单处理的支持。这只是Blazor提供的部分功能。如果你的开发团队擅长使用JavaScript,继续使用React会是一个不错的选择;如果你忠于.NET而不是JavaScript,并且正在开始一个新项目,Blazor是一个值得考虑的好选择。Blazor与AngularAngular是另一个流行的JavaScript框架。与React相比,它更像是一个完整的框架而不是一个库。Angular为客户端提供了MVC架构,以简化开发和测试过程。相比之下,Angular由于其受欢迎程度、稳定性和生产就绪性仍然处于领先地位。此外,Angular完全支持PWA,而Blazor的服务器端尚不兼容。此外,由于Angular使用TypeScript,因此对于C#语言开发人员而言,它比JavaScript更相关和更容易理解。在控制Angular的情况下,我看不到Blazor中有任何突破性的功能可以促使擅长TypeScript的人切换到Blazor。现在说它会取代JavaScript还为时过早,但不得不说Blazor前途无量。
