首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET Core2.0剃刀vs Angular/React/等

ASP.NET Core2.0剃刀vs Angular/React/等
EN

Stack Overflow用户
提问于 2017-09-15 11:43:33
回答 3查看 78.1K关注 0票数 116

我和我的团队已经收到了开始开发企业级web应用程序的资金(不会详细说明它做了什么)。应用程序将有许多独立的web页面,但其中两个页面更加集中,非常繁重,因为在许多用户交互中,显示大量数据的模态、websocket连接、聊天等。

我已经被指派为该项目的首席架构师,所以我正在对最新的web框架进行一些研究。对于后端,我们已经做了一些测试,并决定使用Azure SQL平台。到目前为止,我很喜欢Core2.0对ASP.NET已经做的和正在做的改进。特别是剃刀引擎,而不是以前版本的ASP.NET MVC。

我想就“新”剃刀vs. Angular/React之类的东西征求一些专家的意见。我更关心的是性能。Core 2.0 Razor如何与客户端渲染框架相抗衡?这些差异可以忽略吗?我们的应用面向潜在的100万用户(大约100,000并发用户)。

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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,这是一个非常容易的过渡,我现在很喜欢它!

票数 82
EN

Stack Overflow用户

发布于 2017-10-24 17:03:06

通过在服务器端使用Angular/React和API:

  • 您消除了在服务器端生成超文本标记语言的过程,并节省了CPU
  • API生成的有效负载(JSON)和Razor (超文本标记语言)当然会大得多,不断的整页重新加载和回发,因此API和SPA节省了带宽
  • API和SPA可以有不同的版本控制、扩展和部署方案
  • 通过使用API,您也可以支持移动应用程序,如果您从Razor开始,您可能需要在未来的

中使用API<代码>F29

但是通过使用Angular/React,您应该担心客户端:

  • client必须启用javascript
  • client必须具有现代化的browsers
  • client必须具有足够强大的hardware
  • SEO
票数 56
EN

Stack Overflow用户

发布于 2018-02-23 06:07:19

我没有基准。但是,我有几个项目运行JQuery,剃刀,.NET MVC (C#),AJAX。不会达到你正在处理的规模。

建议..。一定要把事情想透并遵循最佳实践。为了保持可维护性,请确保将控制器、视图、模型分解为更小且有意义的组。当我开始的时候,我犯了一个错误,把所有的东西都放到一个Home控制器中,而把大量的视图放在共享文件夹中。一开始很好,但当功能开始爬行时,它变得一团糟,很难回去重新设计。

我也使用Linq2SQL。我犯了为所有东西创建模型的错误,然后意识到我可以将查询的结果集作为模型返回。是啊。

如果你使用.NET MVC并关心性能,这些是我遇到的问题:

不要返回创建了大量HTML块的分部视图!确保最小化所有内容。去掉所有的空格。使用较小的ID名称。花时间创建尽可能轻量级的html。返回JSON并让客户端做一些工作。

在开发CSS时要小心。不要使用一堆内联样式,花点时间将它们合并到CSS文件中,这样以后就可以最小化它们。

您的客户端JS也是如此。将JS放在部分视图中是很有诱惑力的。让事情井然有序。

在IE上渲染很糟糕。特别是如果有很多图像的话。确保尽可能多地压缩图像,当然也不会降低质量。

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46231344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档