【问题标题】:Server-side vs client-side MVC in web appsWeb 应用程序中的服务器端与客户端 MVC
【发布时间】:2009-11-13 16:15:11
【问题描述】:

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

就我个人而言,我一直觉得 Web 应用程序需要转向 JavaScript 框架。对我来说,MVC 中用于连接客户端/服务器端验证(以及将业务模型转换为视图模型等其他事情)的代码似乎很尴尬,而且有点不自然。基本上获取数据并返回 JSON 的操作,或仅执行“返回 View()”的操作都清楚地表明了这一点。

但是,问题不是什么更好 - 这是一种我认为不太喜欢的讨论 ;-) 我的问题是:你都试过了吗?你会建议发明学习jMVC等吗?有没有关于这个主题的好文章?优点和缺点?例如,在我看来,big 缺点是非常强大的 SOC、可重复使用的服务等。

总结一下:你建议往哪个方向更进一步?

【问题讨论】:

    标签: web-applications


    【解决方案1】:

    几点:

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

    • JavaScript 拉取的内容对搜索引擎不可见

    【讨论】:

    • 是的,我相信 jMVC 开发人员已经意识到这一点...我正在寻找有关该方法的问题、问题是否已解决等方面的良好信息。例如,如何他们是否避免重复服务器端验证等。至于搜索引擎(以及许多人相信的其他口头禅),这通常对 Intranet 和公司网站无关紧要。
    【解决方案2】:

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

    因此,为了其他人,以及那些有兴趣探索这个话题的人,angularjs.org 上还有另一个有趣的项目

    【讨论】:

      【解决方案3】:

      人们希望客户端具有丰富的功能,这有很多非常充分的理由。还有一个推动低维护开销客户端安装的驱动力,因此基于浏览器的客户端非常受欢迎。

      现在,有多种方法(例如 Flex)可以替代 JavaScript 作为主要实现机制,但我发现人们对 JQuery 和 Dojo 非常感兴趣。所以我认为走Javascript路线是很合理的。

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

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

      【讨论】:

        猜你喜欢
        • 2010-11-10
        • 1970-01-01
        • 2012-02-04
        • 1970-01-01
        • 2020-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-23
        相关资源
        最近更新 更多