1

私は、ユーザーがページ上の要素を編集できるようにする Web アプリケーションに取り組んでいます (Adobe InDesign でできるように)。オブジェクトをドラッグして選択することができ、変更可能なオブジェクトのすべてのプロパティを含むサイドバーがユーザーに提供されます。

データはサーバー上のデータベースに保存されます。データベース内のデータに単純な REST インターフェイスを提供するために、DjangoTastypieを使用しています。

基本的に、データは次のように構成されています。

  • 書類
    • ページ
      • ページ オブジェクト

jQuery と jQueryUI を使用していくつかのテストを行いました。これらは、オブジェクトの選択、ドラッグ アンド ドロップなどを可能にするために必要なほとんどのコードを提供します。すべて問題ありません。

現在、ページ上のすべてのオブジェクトに関する情報を保存/管理/プル/更新する最善の方法を検討しています。すべて手作業で行うことができjQuery.ajax()、配列や辞書に情報を使用して保存し、それらを DOM 要素にリンクすることができました。ただし、車輪と定型コードを再発明することは避けられる可能性がかなりあると思います。

そこで Web を検索したところ、Backbone.js に出会いました。これは Django の ORM を少し思い出させ、すべてのデータの管理をより簡単にしているように見えます。Backbone.js の考え方を理解している限り、サーバー上のモデルで定義されているものと同様のオブジェクト クラスを作成し、それを使用してオブジェクトに関するすべての情報を格納できます。

このタスクに Backbone.js を使用するのは適切でしょうか? ドキュメントを調べたところ、REST/Ajax を使用した同期をサポートしていることもわかりました。

4

2 に答える 2

2

バックボーンは、DOM に結合されていない方法、つまり と を介してデータを管理するための抽象化を提供するため、ニーズに適している場合がありBackbone.ModelますBackbone.Collection

バックボーン モデルとコレクションを使用すると、AJAX ライフ サイクルを処理することで、バックエンドとの通信を簡単に管理できます。また、クライアント側の検証やモデル属性の変更に関する pub/sub などを行うための便利な規則もあります。

注意すべきもう 1 つの重要な点は、バックボーンは少しずつ使いやすいということです。モデルの概念を利用して、ビュー/ルーターを無視するか、単にイベント管理などに使用できます。

ドキュメントは非常に優れています。見てください。

于 2012-12-04T19:01:48.753 に答える
0

ember.jsは、サービス品質調査を生成するための (簡単ではない) アプリケーションを作成する時間がない優れたツールであると考える必要があります。そして、emberjsで感謝しています。彼が完全にPHPサーバー側にとどまり、REST以外には使用しなかったのは初めてのことです。

また、優れたドキュメントがあり、拡張が非常に簡単です。

于 2012-12-04T19:06:34.300 に答える