2012-09-09 52 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,所以我基本上只是閱讀頁面頂部的簡短描述,但我懷疑這可能是您的場景的方式,以保持簡單愚蠢的原則。