model-view-controller – pjax或客户端MVC?

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

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

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

我已经阅读了故事from basecampfrom twitter,这一点对我来说都很有意义.您无法在访客计算机上进行中继(功能,性能……)

我更喜欢它的模式我喜欢pjax而不是MVC,但也许我错过了一些东西.与客户端MVC相比,哪些MVC优于pjax或pjax?

非常感谢

解决方法

Backbone.js适用于那些从未真正回发过的重型单页Web应用程序,但它们有很多ajaxian事情,相互依赖的级联下拉等等.它有一个非常好的事件和集合API.如果你有丰富的客户端javascript,它可以是一种有用的组织方式.从某种意义上说,它希望您的服务器端体系结构在认情况下是RESTful,并且您必须努力将它用于非RESTful API.

我正在开发的项目也是一个ERP网络应用程序,在服务器端使用asp.net MVC.我已经了解到Backbone(带有把手作为模板系统)和.net mvc真的不能很好地一起玩.如果你去Backbone,你真的必须全力以赴(控制器方法提供json,就是这样).在这个应用程序的页面上,或多或少具有某些形式的“正常”网页,Backbone是错误的选择.

我刚刚第一次使用Google搜索pjax,所以我基本上只是阅读页面顶部的简短说明,但我怀疑这可能是您的方案的方法,与Keep It Simple Silly原则保持一致.

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面