1

私はこのWebアプリケーションを作成しており、JavaScriptを使用して(サーバー上で)フィルター処理、ソート、およびページ化されたコレクションを視覚化する必要があります(Isotopeを使用してコレクションを表示することを計画しています)。これらのコレクションは動的です。つまり、特定のアイテムから始まりますが、そのコンテンツはアプリケーションの存続期間を通じて変更される可能性があります。Reactive Extensions for JavaScriptを介してサーバー上のコレクションを監視することで、この機能を実装できますか?もしそうなら、どのように?

この特定の問題について、コレクションが各コレクションアイテム#containerのクラスの子要素を持つ要素としてHTMLでレンダリングされるとします。item

<div id="container">
  <div class="item">Item 1</div>
  <div class="item">Item 3</div>
</div>

次に「アイテム2」がコレクションに追加され、サーバー上で「アイテム1」がコレクションから削除された場合、JavaScriptは、更新されたコレクションを次のようにHTMLにレンダリングすることで反応する必要があります。

<div id="container">
  <div class="item">Item 2</div>
  <div class="item">Item 3</div>
</div>

この種のシナリオを示すために、アニメーションのフィドルを作成しました。コレクションへの変更がサーバー上で行われ、JavaScriptがそれに反応することを想像してみてください。

4

1 に答える 1

0

Reactive Extensionsがこの問題の解決に役立つ可能性があることがわかりましたが、サーバーとクライアント間の通信には関係ありません。RXを適用する可能性のある方法は、サーバーとクライアントの間にブリッジを確立することです。このブリッジを介してRXイベントが流れる可能性があります。SignalRは、ブリッジを実装するための有望なオプションとして際立っています。このようにSignalRとRXを組み合わせたプロジェクトSignalR.Reactiveも存在します。

私の問題を解決する上での本当の問題は、サーバー上で変更を公開する方法だと思います。私が選んだデータベースであるRavenDBには、データの変更を監視するためのAPIがあることがわかったので、これを中心にスキームを設計できるようになることを願っています。これが解決されたら、RXとSignalRの助けを借りて、クライアントへの変更の公開がかなり簡単になることを想像しています。

于 2013-02-10T21:59:33.183 に答える