2012-12-04 44 views
1

我正在研究一個Web應用程序,它允許用戶編輯頁面上的元素(就像您可以使用Adobe InDesign一樣)。可以拖動,選擇對象,併爲用戶提供一個側欄,其中包含可以修改的對象的所有屬性。用於瀏覽器內頁面佈局編輯器的Backbone.js?

數據存儲在服務器上的數據庫中。我正在使用Djangotastypie爲數據庫中的數據提供簡單的REST接口。

基本上如下數據結構:

  • 文件
      • 頁面對象

我已經做了一些測試,以jQuer y和jQueryUI,它們提供了大部分允許對象選擇,拖拽等等所需的代碼。

現在我正在考慮什麼最好的方法是存儲/管理/拉/更新有關頁面上所有這些對象的信息。我可以全部手工完成,並使用jQuery.ajax()並將信息存儲在數組,字典中並將它們鏈接到DOM元素。不過,我覺得有很多重新發明的輪子和樣板代碼可以避免。

所以我搜索了網頁,發現Backbone.js。它讓我想起了Django的一些ORM,看起來更容易管理所有的數據。據我瞭解Backbone.js的想法,它允許我創建一個類似於服務器上模型中定義的對象類,並使用它來存儲關於對象的所有信息。

在這項任務中使用Backbone.js是否合適?我查看了它的文檔,也看到它支持使用REST/Ajax進行同步。因爲它不用於在沒有連接到所述DOM,即通過Backbone.ModelBackbone.Collection的方式管理數據提供的抽象

+0

好極了,你打算開源嗎?我正在草擬階段的類似項目。我使用knockout.js進行UI和html5sortable進行DND(我發現它有點難以在嵌套小部件之間拖拽)和自定義的JSON格式。我不確定backbone.js是否有助於我們看到。 – okm

+0

@okm:不,這是一個商業項目,所以我不能開源。 – BastiBen

+0

我明白了..繼續努力吧,祝你好運=) – okm

回答

相關問題