2013-05-08 51 views
20

我希望得到从服务器端的MVC的好处,其他用户的一些输入。随着许多JavaScript库的力量。服务器端MVC服务器有什么好处?客户MVC VS服务器MVC

您可以轻松地使用客户端MVC与模板和REST API做出更resposive应用与重新加载整个页面进行细微的变化更少的开销。

+1

你专注于小的,单页的应用程序的,对不对? – DOK 2013-05-08 18:19:09

+0

@DOK SPA:是的。尺寸明智,我想从小到大 – Justin 2013-05-08 19:09:24

+3

这样一个重要的问题,如此小的牵引力... – 2013-06-15 08:44:00

回答

5

服务器MVC的好处受益:

  1. 成熟。
  2. 广泛采用。
  3. 大部分代码都在服务器内部,所以应该更安全。

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

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

  1. 休闲与用户的互动很少:服务器+阿贾克斯。
  2. LOB应用程序(会计,ERP,CRM等):客户。

顺便说一句我使用#1的Java Server Faces和由#2的JAX-RS服务备份的ExtJS。

问候。

+0

旧帖子现在,但我想知道,为什么你会使用服务器+阿贾克斯为休闲用户与几个交互?和客户端MVC的LOB应用程序?使用服务器端MVC为临时用户使用LOB应用程序和客户端MVC会不会更安全和可扩展?提前道歉,如果我错过了什么。 – redspidermkv 2015-09-22 15:19:51

6

那么,你仍然会需要一个初始页面,这可能是由服务器端的MVC引擎中投放。

除此之外,客户MVC + REST可以工作,但我认为你还是有不同的部分大应用程序,你需要这些部分结合在一起。这可能会做到客户端,但我认为做服务器端更容易。

目前我能看到两个共存愉快。你仍然可以做到尽可能的在客户端,并通过REST,但如果事情是不可能的客户端,你还是从MVC的服务器端的优势

+0

MVC对于初始页面服务似乎有点矫枉过正 – Justin 2013-05-08 18:32:57

+2

这一切都取决于应用程序的复杂性。如果最初的页面非常复杂,并且有很多部分(如此多的初始页面),那就付出代价。但是,再次,这里没有硬性规则,这一切都取决于你正在构建的应用程序 – Kenneth 2013-05-08 18:34:19

11

我看到这个问题的方法,如果你考虑到V作为客户端MVC包裹在一个黑盒子服务器端MVC仍然是相关的。问题是这是关于协作和可伸缩性的。服务器端MVC继续为REST API提供燃料(例如),这是因为您在技术上将查看技术外包给运行在浏览器中的单独框架。由于浏览器日益被视为应用程序开发平台,因此您可以将大量数据从“后端平台”导出到客户端(浏览器),然后将数据作为本地“数据库”在浏览器中进行处理,以实现快速响应时间。

结合这2个MVC框架允许:

    服务器和客户端之间
  1. 稀疏的流量,从而通过定位到更多相关的资料存取降低你的网络应用程序的延迟
  2. 提高响应设置
  3. 分配负载从单个服务器端控制器到数百个浏览器

这里的工作架构与CDN非常相似 - 内容交付网络!真的是关于本地化数据,并将其带到处理中心附近。

说了这么多之后,如果您了解产品的架构需求,您可以继续独占使用一种产品。适合正确工作的正确工具。

3

比较只是从一个端点反对另一个端点的MVC不是很有建设性。 MVC是你如何组织你的代码的结构。它是一系列设计模式,可帮助您解耦代码并使其更易于维护。我们总是希望那样。

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

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

+1

+1除非你只提供静态文件,否​​则你希望在客户端和服务器上都有一个MVC架构。 M(MVC)C可以这么说。 – deceze 2014-08-05 15:05:35

+0

是啊!我会留意在评论中使用“M(MVC)C”的机会;) – givanse 2014-08-05 21:08:34

相关问题