2012-12-10 4 views
10

バックエンドでNode.js + Express.js + socket.io.jsを使用してWebアプリケーションを構築しています。クライアント側のJavaScriptフレームワークはNode.js + Express.js + socket.io.jsと完全に統合されていますか?

一般的なフロントエンドフレームワーク(敏捷性、角度、バックボーン、クロージャ、Dojo、Ember、GWT、jQuery、ノックバック、ノックアウト、スパイン、YUIなど)は、このバックエンドと "リアルタイム"アプリケーション?

私のアプリケーションに非常に「リアルタイム」の感覚が欲しいです。具体的には、ユーザーがフォームを送信すると、検証のためにバックエンドにWebソケットを使用して情報を送信し、(検証が成功した場合は)データベースに更新情報を送信します。次に、サーバー側はWebソケットを使用して、データが保存されたことの確認やエラーのリストを送信します。 JavaScriptを使用してページの更新にサーバーの応答を使用します。

私はこれが記載されているフレームワークのどれかで実行できることはすべて知っています。私は、フレームワークが他のフレームワークよりもノードベースのバックエンドとの統合を助ける特定のフレームワークの機能に興味があります。

+1

WebSocketはすばらしく、すべてですが、そうすれば、普通の古いHTTPから "普通の"アプリケーションで非常に高いパフォーマンスを得ることができます。 – Pointy

+0

私はBackbone、Knockout、CanJSがここでいい仕事をしていると言えます。 RESTful JSONバックエンドを使用すると、あなたが引用したもののどれかと作業することに違いはないとは思いません。 – rcdmk

+0

Seconding @Pointy - あなたのアプリケーションは、Webソケットのための大きなユースケースになるかもしれませんが、あなたの質問であなたが記述したシナリオは、良いol 'xmlhttprequestの仕事のように思えます。これはもちろん、あなたの質問のポイントの横にある、ちょうど行って、とにかくそれを言わなければならなかった。 – jevakallio

答えて

1

アプリとユースケースによって異なります。私はHTMLサーバー側を生成する傾向があります。したがって、クライアント側のSEBやその他のJS豊富なフレームワークの利点は、Googlebotがクロールできないという不幸な副作用があります。

アプリを使用するために認証が必要な場合は、TODOMVCで紹介されたフレームワークのバックボーンまたは別のものが良い解決策になります。

通常、サーバー側でsocket.ioを使用する場合は、クライアント側でも使用します。

3

Emberも本当にフィットします。

チャールズ・ジョリー(Charles Jolley)のconvoyを参照してください。クライアントサイドの資産統合に非常に役立ちます。

NPMのEmberパッケージには、良いスタート(convoyに基づく)のサンプルアプリが付属しています。

1

angle.jsはリアルタイムアプリケーションに最適です。

  • データバインディングと依存性注入
  • テストツール
  • 簡単REST

は、ここでフレームワークについてsome informationです。

+0

Angularは、ロットを制御するルーティングなどを表現していることがわかりました(つまり、表現は静的なものにすぎません) - それは厄介ですが、それは私です。 – electblake

関連する問題