我和我的团队已经收到了开始开发企业级web应用程序的资金(不会详细说明它做了什么)。应用程序将有许多独立的web页面,但其中两个页面更加集中,非常繁重,因为在许多用户交互中,显示大量数据的模态、websocket连接、聊天等。
我已经被指派为该项目的首席架构师,所以我正在对最新的web框架进行一些研究。对于后端,我们已经做了一些测试,并决定使用Azure SQL平台。到目前为止,我很喜欢Core2.0对ASP.NET已经做的和正在做的改进。特别是剃刀引擎,而不是以前版本的ASP.NET MVC。
我想就“新”剃刀vs. Angular/React之类的东西征求一些专家的意见。我更关心的是性能。Core 2.0 Razor如何与客户端渲染框架相抗衡?这些差异可以忽略吗?我们的应用面向潜在的100万用户(大约100,000并发用户)。
提前感谢!
发布于 2018-08-24 02:10:35
我们最终使用了Angular前端和ASP.NET Core API后端,使用Azure SQL。我们测试了Core Razor,虽然比传统的Razor更好,但Angular最终比我们快得多。就用户体验而言,Angular (或React)在性能方面要优越得多。我们发现Angular的模型绑定方面是服务器端渲染的一个巨大优势。然而,使用Razor(或一般的服务器端渲染)确实有助于更好地实现数据的整体完整性,并且有助于更好地将数据从前端转换到后端。前端框架和API之间存在真正的脱节。传递给服务器的所有数据都必须转换为类型化对象-这意味着您必须管理两个单独的POCO模型集。如果服务器对象和前端对象不对齐,这可能会导致问题。目前,实体框架核心还不是很成熟,所以我们在更新对象,查询对象,包含子对象等方面存在问题。
总体而言,到目前为止,这个设置对我们来说很好!我可以想象React会是一个类似于Angular的替代品,如果你对它更满意的话。我不得不学习Angular,这是一个非常容易的过渡,我现在很喜欢它!
发布于 2017-10-24 17:03:06
通过在服务器端使用Angular/React和API:
中使用API<代码>F29
但是通过使用Angular/React,您应该担心客户端:
发布于 2018-02-23 06:07:19
我没有基准。但是,我有几个项目运行JQuery,剃刀,.NET MVC (C#),AJAX。不会达到你正在处理的规模。
建议..。一定要把事情想透并遵循最佳实践。为了保持可维护性,请确保将控制器、视图、模型分解为更小且有意义的组。当我开始的时候,我犯了一个错误,把所有的东西都放到一个Home控制器中,而把大量的视图放在共享文件夹中。一开始很好,但当功能开始爬行时,它变得一团糟,很难回去重新设计。
我也使用Linq2SQL。我犯了为所有东西创建模型的错误,然后意识到我可以将查询的结果集作为模型返回。是啊。
如果你使用.NET MVC并关心性能,这些是我遇到的问题:
不要返回创建了大量HTML块的分部视图!确保最小化所有内容。去掉所有的空格。使用较小的ID名称。花时间创建尽可能轻量级的html。返回JSON并让客户端做一些工作。
在开发CSS时要小心。不要使用一堆内联样式,花点时间将它们合并到CSS文件中,这样以后就可以最小化它们。
您的客户端JS也是如此。将JS放在部分视图中是很有诱惑力的。让事情井然有序。
在IE上渲染很糟糕。特别是如果有很多图像的话。确保尽可能多地压缩图像,当然也不会降低质量。
https://stackoverflow.com/questions/46231344
复制相似问题