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原则保持一致.

相关文章

事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数...
js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言...
什么是跨域 跨域 : 广义的跨域包含一下内容 : 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源...
@ "TOC" 常见对base64的认知(不完全正确) 首先对base64常见的认知,也是须知的必须有...
搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : 的缩写,说都能直接说出来 :模型, :视图, :视图模...
首先我们需要一个html代码的框架如下: 我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容...