7

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

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

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

我从大本营特上读过这个故事,这两点对我来说都很有意义。您不能在访客计算机上进行中继(功能、性能......)

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

非常感谢

4

1 回答 1

3

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 原则。

于 2012-09-10T02:29:46.077 回答