Web应用程序中的服务器端与客户端MVC

时间:2009-11-13 16:15:12

标签: web-applications

我最近发现了一个有趣的ASP.NET MVC替代方案,我现在这样做:使用高级JavaScript进行服务调用的静态HTML(大多数示例使用OpenRasta)。例如,请参阅thisthis

我个人总觉得网络应用需要转向JavaScript框架。对我来说,感觉MVC中的代码连接客户端/服务器端验证(以及其他事情,如将业务模型转换为视图模型)似乎很尴尬,有点不自然。基本上采用数据并返回JSON的动作,或者只是“返回View()”的动作都清楚地表明了这一点。

然而,问题不是什么更好 - 这是一种我认为不喜欢的讨论;-)我的问题是:你试过两个吗?你会建议学习jMVC等吗?关于这个问题的任何好文章?优点和缺点?例如,我认为缺点是一个非常强大的SOC,一个可以重用的服务等。

总结一下:你建议进一步采取什么方向?

3 个答案:

答案 0 :(得分:3)

有几点:

  • 只有客户端验证才意味着没有验证

  • 搜索引擎无法看到提取JavaScript的内容

答案 1 :(得分:2)

我知道这是一个旧帖子,但它仍然出现在搜索中(当然)。

因此,对于其他人以及那些有兴趣探索这个主题的人来说,angularjs.org还有另一个有趣的项目

答案 2 :(得分:1)

人们希望客户端拥有丰富的功能,其中有许多相当强大的原因。还有推动低维护开销的客户端安装,因此基于浏览器的客户端非常受欢迎。

现在,有各种方法(例如Flex)可以替代JavaScript作为主要的实现机制,但我看到了对JQuery和Dojo的极大兴趣。所以我认为走下Javascript路线是合理的。

显然,你可以坚持使用或多或少的标准网页模型,只需让每个页面“更漂亮”更好的小部件,一些客户端验证等等。但是正如你所观察到的真正的力量来自于javascript它本身非常丰富,只是对数据进行服务调用并执行操作。然后我们讨论了如何最好地构建具有丰富客户端层的应用程序,我认为这是您问题的核心。

我的观点:我们最终在浏览器中使用JavaScript中的真实模型/视图/控制器模式,但浏览器中的模型与服务器中的另一个层有一个有趣的关系,该层可能很好地做服务器端处理BrowserModel。所以服务器上也可能有一个MVC组合。我认为这个领域的艺术仍在不断发展。框架正在出现,但是旧的Web 1.0 Java世界中的Struts等明显的赢家尚未出现