vue - ASP.NET Core 2.0 Razor vs Angular/React/etc




asp net前后端分离 (2)

我们最终使用Azure SQL进行了Angular前端和ASP.NET Core API后端。 我们测试了Core Razor,虽然比传统Razor更好,但最终Angular对我们来说要快得多。 就用户体验而言,Angular(或React)在性能方面要优越得多。 我们发现Angular的模型绑定方面是服务器端渲染的巨大优势。 然而,使用Razor(或一般的服务器端渲染)确实可以提高数据的整体完整性,并且可以使数据从前端更好地转换到后端。 前端框架和API之间存在真正的脱节。 传递给服务器的所有数据都必须转换为类型化对象 - 这意味着您必须管理两个单独的POCO模型集。 如果服务器对象和前端对象不对齐,这可能会导致问题。 目前,Entity Framework Core还不是很成熟,因此我们在更新对象,查询对象(包括子对象)等方面存在问题。

总的来说,到目前为止,这个设置对我们来说非常有用! 如果你对它更加满意,我会想象React会成为Angular的类似替代品。 我必须学习Angular,这是一个非常容易的过渡,现在我喜欢它!

我和我的团队已经获得资金,开始开发企业级Web应用程序(不会详细介绍它的功能)。 该应用程序将有许多单独的网页,但其中两个页面更集中,非常沉重 - 在许多用户交互中很重,显示海量数据的模式,websocket连接,聊天等。

我被分配到该项目的首席架构师,所以我正在研究最新的Web框架。 对于后端,我们已经做了一些测试,并决定使用Azure SQL平台。 到目前为止,我喜欢使用Core 2.0对ASP.NET进行的改进。 特别是Razor引擎,比以前版本的ASP.NET MVC。

我希望得到一些关于“新”Razor与Angular / React之类的专家意见。 我特别关注表现。 Core 2.0 Razor如何支持客户端渲染框架? 这些差异是否可以忽略不计? 我们的应用程序针对的是潜在的1,000,000个用户(大约100,000个并发用户)。

提前致谢!


我没有基准。 但是,我有几个项目运行JQuery,Razor,.NET MVC(C#),AJAX。 不是你要解决的规模。

建议..务必考虑事情并遵循最佳实践。 为了保持可维护性,请确保将控制器,视图,模型分解为更小且更有意义的组。 当我开始时,我错误地将所有内容放入一个Home控制器中,并在共享文件夹中放置了大量视图。 一开始很好但是当特征蠕变开始时,它变得一团糟,很难回去重新设计。

我也使用Linq2SQL。 我犯了为一切创建模型的错误,然后意识到我可以将查询的结果集作为模型返回。 咄。

如果您使用.NET MVC并且关注性能,那么这些是我遇到的问题:

不要返回创建大块HTML的部分视图! 一定要尽量减少一切。 摆脱所有的空白区域。 使用较小的ID名称。 花点时间创建尽可能轻的html。 返回JSON并让客户端完成一些工作。

小心你如何开发你的CSS。 不要使用一堆内联样式,花时间将其合并到CSS文件中,以后可以将其最小化。

您的客户端JS也是如此。 把JS放在部分视图中是很诱人的。 保持井井有条。

在IE上渲染是可怕的。 特别是如果有很多图像。 务必尽可能压缩图像,当然不会丢失质量。





razor