【问题标题】:How does scalability compare between MVVM Javascript & tranditional ASP.NET MVC websiteMVVM Javascript 和传统 ASP.NET MVC 网站的可扩展性比较
【发布时间】:2013-12-02 06:44:55
【问题描述】:

这两种架构的可扩展性如何匹配? (对于网络应用)

我可以看到,对于 MVVM javascript,我们有;

优点:

-所需的逻辑处理的一部分在客户端的浏览器上执行。所以对于 n 个请求, 客户端浏览器从服务器获取此负载 n 次。 (例如遍历集合以输出 HTML)

缺点:

-每个用户的请求更多。 IE 对于初始动态 HTML,在传统中,我们每个用户有 1 个请求,但在 MVVM 中,初始 HTML 最多可能有 5 个。即,

  1. 请求 1,使用 get 的初始 HTML
  2. 请求 2-5,Knockout 客户端,请求的 JSON 数据,因此它可以设置列表,动态 HTML 等。

毫无疑问,这些 JSON 请求可以是异步操作,但即便如此,这种效果的负载会有多严重?

【问题讨论】:

  • 它们不是相互排斥的。您可以在 UI 中使用 mvc 和 mvvm 模式。当您加载初始数据,然后在用户交互之后加载其他数据时,这可能很有用。
  • 没有看到您比较简单 json 数据 API 与加载后端框架以生成页面之间的服务器负载差异,或考虑客户端应用程序中的内容更改速度差异(用户体验)
  • 是的,我知道它们并不相互排斥。另外,是的,我对这里的用户体验不感兴趣,因为我知道只要没有太多往返请求并且基础设施满足用户体验将满足我的要求
  • @Baconbeastnz 似乎您是您软件的唯一用户,那么如果您可以肯定地说用户体验会让您满意:)

标签: javascript asp.net-mvc angularjs mvvm knockout.js


【解决方案1】:

当您构建一个 SPA 风格的应用程序时,优点是一旦加载了初始页面,接下来的请求将比平时更小。毕竟,您将只请求数据而不是 HTML + 数据。

就对服务器负载的影响而言,这取决于您的应用。如果瓶颈在数据处理中(从数据库中获取,域逻辑,...),那么任何一种方法都将具有或多或少相同的负载,因为无论如何您都必须处理数据。 另一方面,如果瓶颈在于渲染,则客户端方法将更有利​​,因为渲染将在客户端上完成。

【讨论】:

    猜你喜欢
    • 2011-12-27
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 2011-03-05
    • 2011-08-12
    • 1970-01-01
    • 2011-05-15
    相关资源
    最近更新 更多