私は、ユーザーがページ上の要素を編集できるようにする Web アプリケーションに取り組んでいます (Adobe InDesign でできるように)。オブジェクトをドラッグして選択することができ、変更可能なオブジェクトのすべてのプロパティを含むサイドバーがユーザーに提供されます。
データはサーバー上のデータベースに保存されます。データベース内のデータに単純な REST インターフェイスを提供するために、DjangoとTastypieを使用しています。
基本的に、データは次のように構成されています。
- 書類
- ページ
- ページ オブジェクト
- ページ
jQuery と jQueryUI を使用していくつかのテストを行いました。これらは、オブジェクトの選択、ドラッグ アンド ドロップなどを可能にするために必要なほとんどのコードを提供します。すべて問題ありません。
現在、ページ上のすべてのオブジェクトに関する情報を保存/管理/プル/更新する最善の方法を検討しています。すべて手作業で行うことができjQuery.ajax()
、配列や辞書に情報を使用して保存し、それらを DOM 要素にリンクすることができました。ただし、車輪と定型コードを再発明することは避けられる可能性がかなりあると思います。
そこで Web を検索したところ、Backbone.js に出会いました。これは Django の ORM を少し思い出させ、すべてのデータの管理をより簡単にしているように見えます。Backbone.js の考え方を理解している限り、サーバー上のモデルで定義されているものと同様のオブジェクト クラスを作成し、それを使用してオブジェクトに関するすべての情報を格納できます。
このタスクに Backbone.js を使用するのは適切でしょうか? ドキュメントを調べたところ、REST/Ajax を使用した同期をサポートしていることもわかりました。