【问题标题】:pjax or client side MVC?pjax 还是客户端 MVC?
【发布时间】:2012-09-02 20:43:34
【问题描述】:

我必须开始一个新项目,一个有很多表单和屏幕的 web 应用程序,我真的不知道哪种技术最适合。该应用程序是一个类似 ERP 的应用程序,动画很少,表格很多。目标是减少重新加载和等待时间,它必须尽可能接近普通桌面应用程序(看起来像一个了不起的 VB6 应用程序需要做很多工作:-)

一方面,我们有客户端 MVC(骨干网)。让所有代码在客户端上运行很酷,但在我看来,这意味着从服务器(PHP + Fuel)重复大量代码(例如所有模型定义)。当然一旦加载了所有信息任务,如分页或网格工作,没有任何延迟,但它也存在一些同步问题(其他用户可以更改数据,我必须手动使客户端上的数据无效)。

另一方面,我们有 pjax。这个想法是在服务器上制作所有模板等,只需实现一个逻辑来返回没有pjax请求框架的页面或新请求的完整页面。没有代码重复,非常简单的客户端。

我读过from basecampfrom twitter 的故事,这两点对我来说都很有意义。您不能在访客计算机上进行中继(功能、性能...)

我越想我喜欢 pjax 而不是 MVC 的模式,但也许我错过了一些东西。 MVC 相对于 pjax 的优势是什么,或者 pjax 相对于客户端 MVC 的劣势是什么?

非常感谢

【问题讨论】:

    标签: model-view-controller architecture backbone.js pjax


    【解决方案1】:

    Backbone.js 适用于那些从不真正回传但有很多 ajaxian 事件、相互依赖的级联下拉列表等的繁重的单页 Web 应用程序。它有一个非常好的事件和集合 API。如果您有大量的客户端 javascript,那么它可能是一种组织它的有用方式。从某种意义上说,它希望您的服务器端架构默认为 RESTful,而您必须付出一些努力才能将其用于非 RESTful API。

    我正在处理的项目也是一个 ERP Web 应用程序,在服务器端使用 asp.net MVC。我了解到 Backbone(使用把手作为模板系统)和 .net mvc 确实不能很好地协同工作。如果你使用 Backbone,你真的必须全力以赴(控制器方法提供 json,就是这样)。在此应用中的页面上,这些页面或多或少是带有某些表单的“普通”网页,Backbone 是错误的选择。

    我只是第一次在谷歌上搜索 pjax,所以我基本上只是阅读了页面顶部的简短描述,但我怀疑这可能是你的场景的方式,与 Keep It Simple Silly 保持一致原则。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 2018-06-06
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      相关资源
      最近更新 更多