23

我希望从其他用户那里获得一些关于服务器端 MVC 好处的意见。借助许多 javascript 库的强大功能。服务器端 MVC 服务器还有什么好的用途?

您可以轻松地使用带有模板和 REST API 的客户端 MVC 来创建一个响应能力更强的应用程序,而重新加载整个页面以进行微小更改的开销更少。

4

5 回答 5

12

在我看来,如果您将 V 视为包装在黑匣子中的客户端 MVC,则服务器端 MVC 仍然相关。问题是这一切都与协作和可扩展性有关。服务器端 MVC 继续为 REST API 提供燃料(例如),您在技术上将查看技术外包给在浏览器中运行的单独框架。

由于浏览器越来越被视为应用程序开发平台,您可以将大量数据从“后端平台”导出到客户端(浏览器),然后在浏览器中将数据视为本地“数据库”,从而实现快速响应。

结合这两个 MVC 框架允许:

  1. 服务器和客户端之间的流量稀疏,从而减少延迟
  2. 通过本地化对更多相关数据集的访问来提高 Web 应用程序的响应能力
  3. 将负载从单个服务器端控制器分配到数百个浏览器

这里的架构与 CDN 非常相似——内容交付网络!实际上,它是关于本地化数据,并使其更接近处理中心。

话虽如此,如果您了解产品的架构需求,您可能会继续独占使用另一个。适合工作的正确工具。

于 2013-11-21T18:01:20.303 回答
7

好吧,您仍然需要一个初始页面,它可以由服务器端 MVC 引擎提供服务。

除此之外,client-MVC + REST 可以工作,但我认为在大型应用程序中你仍然有不同的部分,你需要将这些部分联系在一起。这在客户端是可能的,但我认为在服务器端更容易。

目前我可以看到两者幸福地共存。您仍然可以在客户端和通过 REST 做尽可能多的事情,但是如果在客户端无法完成某些事情,您仍然可以从 MVC 的服务器端优势中受益

于 2013-05-08T18:17:37.147 回答
5

服务器 MVC 的好处:

  1. 成熟。
  2. 被广泛采用。
  3. 大多数代码都在服务器内部,因此应该更安全。

但绝对趋势是回到客户端/服务器计算,而不是用 C 或其他语言编写的胖客户端,但现在你有一个非常好的平台:浏览器。

关于何时使用服务器端 MVC 和客户端 MVC,我有一个简单的策略:

  1. 交互很少的休闲用户:Server + Ajax。
  2. LOB 应用程序(会计、ERP、CRM 等):客户端。

顺便说一句,我将 Java Server Faces 用于#1,将由 JAX-RS 服务支持的 ExtJS 用于#2。

问候。

于 2013-08-14T16:07:19.993 回答
3

将一个端点的 MVC 与另一个端点进行比较不是很有建设性的。MVC 是您组织代码的结构。它是一系列设计模式,可帮助您解耦代码并使其更易于维护。我们一直想要这样。

每个人都会同意,无论你是在服务器上还是在客户端上构建,你都必须有一个良好的关注点分离的架构。那里没有比赛。

真正且更重要的问题是:客户端渲染与服务器端渲染?您想在服务器或客户端的哪个位置生成 HTML 视图?这是一个不同的问题,更关心页面速度和 UI 响应能力。此外,它已在多个地方多次回答。搜索前:https ://stackoverflow.com/search?q=client+rendering+vs+server+rendering

于 2014-07-18T16:31:27.150 回答
0

我认为 MVC 对于简单的 Web 应用程序来说是一个很好的模式。然而,在构建像 Facebook 或 Gmail 这样的现代和丰富的 Web 应用程序时,它并没有真正的帮助。看看这篇文章,了解为什么不使用 MVC 的更多原因:

http://dennis-nerush.blogspot.co.il/2016/04/should-we-use-mvc-for-modern-web.html

于 2016-04-30T10:21:55.513 回答