wez*_*zzy 7 architecture model-view-controller backbone.js pjax
我必须开始一个新项目,一个包含大量表单和屏幕的webapp,我真的不知道哪种技术最合适.该应用程序是一个类似ERP的应用程序,只有很少的动画和很多表单.目标是尽可能减少重新加载和等待时间,它必须尽可能接近普通的桌面应用程序(很多工作看起来像一个奇妙的VB6应用程序:-)
一方面,我们有客户端MVC(骨干).让所有代码在客户端上运行很酷,但在我看来这意味着从服务器(PHP + Fuel)重复大量代码(例如所有模型定义).当然一旦加载所有信息任务,如分页或网格工作没有任何延迟,但它也提出了一些同步问题(其他用户可以更改数据,我必须手动使客户端上的数据无效).
另一方面,我们有pjax.我们的想法是在服务器上制作所有模板等,只需实现一个逻辑来返回没有pjax请求框架的页面或新请求的完整页面.没有代码重复,非常简单的客户端.
我从大本营和推特上读到了这个故事,这一点对我来说都很有意义.您无法在访客计算机上进行中继(功能,性能......)
我更喜欢它的模式我喜欢pjax而不是MVC,但也许我错过了一些东西.与客户端MVC相比,哪些MVC优于pjax或pjax?
非常感谢
Backbone.js 非常适合重型、单页 Web 应用程序,这些应用程序永远不会真正回发,但会发生很多 Ajaxian 事情、相互依赖的级联下拉菜单等。它有一个非常好的事件和集合 API。如果您有大量的客户端 JavaScript,那么它可能是一种有用的组织方式。它是固执己见的,因为它希望您的服务器端架构默认是 RESTful,并且您必须付出一些努力才能将其用于非 RESTful API。
我正在从事的项目也是一个 ERP Web 应用程序,在服务器端使用 asp.net MVC。我了解到 Backbone(以车把作为模板系统)和 .net mvc 确实不能很好地协同工作。如果你使用 Backbone,你真的必须全力以赴(控制器方法提供 json,就是这样)。在此应用程序中的页面或多或少是具有某些表单的“正常”网页,Backbone 是错误的选择。
我刚刚第一次在 google 上搜索 pjax,所以我基本上只是阅读了页面顶部的简短描述,但我怀疑这可能是适合您的场景的方法,符合“保持简单愚蠢”的原则。