2012-12-11 115 views
2

我正在嘗試開發基於HTML5畫布的應用程序。該應用程序基本上是一個財務數據可視化應用程序,完全運行在HTML5畫布上,即每個按鈕,事件處理,圖形都在HTML5畫布中完成。基於HTML5畫布的應用程序的MVC框架建議

到目前爲止,我已經用了兩個庫來管理龐大的代碼庫:

  1. jCotton繪製和事件移交,我們必須修改和添加大量的其他功能,以jCotton和它的工作對我們非常好
  2. RequireJS爲模塊化這也工作正常

然而,由於我們在原型階段,我們沒有投資於適當的MVC框架,因此,關注點分離,即數據模型,獨家觀點不正確maintaine d,因爲它當時是一個概念驗證項目,但現在我正在考慮重構代碼並使用一個重型MVC框架來更好地組織我的代碼庫。

現在,這是我面臨的問題,我真的很困惑什麼框架選擇。有Backbone,EmberJS,SpineJS等,它們都很好。但是我無法對他們做出任何最佳決策。我不是JS專家,我一直在編寫JS只有1年,所以這是我遇到這些困難的另一個原因。

很多這些框架似乎十分強調DOM操作是不需要我的項目,我們有我們的自定義的數據結構來表示在畫布中的場景。 JS客戶端使用一個自定義的xml來與後端服務器進行通信和數據傳遞。我一直在挖掘Backbone。由於App在Canvas中運行,因此路由器對我無用。基於事件的模型看起來很有吸引力。

我想知道你們中的任何人是否面臨過類似的情況以及你爲此做了什麼。我應該去Backbone,EmberJS等,還是應該更好地設計我自己的簡約MVC框架。我應該選擇哪一個如果你建議我使用第三方MV *框架?正如我所說的,我一直在挖掘Backbone以查看它是否符合我的需求,我想更多地瞭解這個特定領域的其他框架。

+1

我不知道答案;但有一件事是,你可能想找到最簡約的框架,你可以找到 - 是任何HTML的預測功能將在畫布上的應用程序被浪費的原因。這就是說,骨幹似乎是一個合理的選擇,但,從我所看到的東西,它是仍然較小脊柱可能會更好,甚至不需要jQuery來運行。 – McGarnagle

回答

1

我使用EmberJS實現了一個基於畫布的「交互式時間趨勢圖」,並獲得了積極的體驗。您不需要在EmberJS中使用HTML/Backbone(html模板)。

EmberJS的自動傳播的特性和計算出的屬性是一個很好的匹配到一個場景圖形API諸如jCotton。

我對jCototn並不熟悉,但乍一看,它看起來像從Ember.Object擴展一個CottonObject類,它可以自動修改場景圖的子樹來響應Ember屬性變化。

相關問題