2012-09-09 49 views
7

我要开始一个新的项目,有很多的形式和画面的web应用程序,我真的不知道哪种技术适合最好的。该应用程序是一个ERP应用程序,只有很少的动画和很多形式。我们的目标是尽量减少重新加载和等待时间,它必须尽可能接近普通的桌面应用程序(很多工作看起来像一个奇妙的VB6应用程序:-)pjax或客户端MVC?

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

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

我读过这个故事from basecampfrom twitter这两点对我来说都有意义。你不能中继访问者的计算机(功能,性能......)

对我越去想它,我喜欢在MVC pjax模式,但也许我失去了一些东西。与客户端MVC相比,哪些MVC优于pjax或pjax?

非常感谢

回答

3

Backbone.js的好重,单页Web应用程序,从来没有真正回来后,但有很多的东西才算是Ajax回事,相互依存的级联下拉菜单,等它有一个非常好的API为事件和收藏。如果你有丰富的客户端JavaScript,它可以是一个有用的方式来组织它。从某种意义上说,它预计你的服务器端体系结构默认为RESTful,你必须努力将其用于非RESTful API。

我工作的这个项目是一个ERP的Web应用程序,以及与在服务器端asp.net MVC。我已经了解到Backbone(把手作为模板系统)和.net mvc确实不能很好地一起玩。如果你去骨干,你真的必须全力以赴(控制器方法提供JSON,就是这样)。在这个应用程序中的页面或多或少是一些形式的“普通”网页,Backbone是错误的选择。

我刚刚第一次使用pjax,所以我基本上只是阅读页面顶部的简短描述,但我怀疑这可能是您的场景的方式,以保持简单愚蠢的原则。