2

MVCの原則を使用して、このアプリをJavaScriptでどのように実装しますか?

ここに画像の説明を入力してください

ご覧のとおり、アプリには基本的に「サイドバー」、「視覚化」、「タイムスライダー」の3つのビューがあります。基礎となるモデルは、選択した国と年を追跡する必要があります。

アプリを初期化するときに、モデルにデータを入力するjsonファイルを読み込む必要があります。ある種のイベントシステム(アドバイスをお願いします)では、安定したモデルをコントローラーに通知し、対応するビューを設定する必要があります。

たとえば、サイドバーに国を追加すると、データの再読み込みがトリガーされ、その後、視覚化ビューのx / yスケールが更新されて、より多くの国に対応できるようになります。

ロジックをビューからどのように分離し(モデル、ビュー、コントローラーにそれぞれ何を入れるか)、どのライブラリを使用しますか?(特に、イベント処理に関して)。

コードは大歓迎です...ありがとう。

4

1 に答える 1

1

この種のアプリケーションについては、backbone.jsを調べることをお勧めします。

これは基本的に:

Backboneは、キー値バインディングとカスタムイベントを備えたモデル、列挙可能な関数の豊富なAPIを備えたコレクション、宣言型イベント処理を備えたビューを提供することでJavaScriptを多用するアプリケーションに構造を提供し、RESTfulJSONインターフェイスを介してすべてを既存のアプリケーションに接続します。

ドキュメントのビューを見ることができます。backbone.js彼らはあなたのために利用可能な膨大な量の例を持っています、それは私がを使って完全な解決策を提供するよりも役立つでしょうbackbone.js。彼らはまた、あなたがベースとなる準備ができている完全に構築されたアプリを備えたいくつかのデモを持っています。

更新:また、spine.jsを調べてください。これは、実際には似てbackboneいますが、同じではありません。FAQからの違いは次のとおりです。

おっと-あなたのAPIはBackboneに本当に似ています。なぜ代わりにこれを使用する必要がありますか?

確かに、Spineは優れたライブラリであるBackboneに触発されており、そのコントローラーAPIは非常に似ています。ただし、類似点はそこで終わります。内部的には、ライブラリの動作は大きく異なります。たとえば、Spineには、Backboneのほぼすべてのモデルに必要なコレクションは必要ありません。Spineはクラスライブラリを提供し、サーバー同期に関しては非常に異なるアイデアを持っています。最後に、Spineははるかにシンプルで半分のサイズです。ソースを確認してください。

于 2011-05-20T13:17:18.010 に答える