[解決済み] REST APIに代わるWebsocket API?[クローズド]
質問
私は、主要な機能が、websocketや長いポーリングを通して、リアルタイムで動作するアプリケーションを持っています。
しかし、サイトの大部分はRESTfulな方法で書かれており、これは将来的にアプリケーションや他のクライアントにとって良いことです。しかし、私は、REST から離れて、すべてのサイト機能用の Web ソケット API に移行することを考えています。そうすれば、サイトのすべての部分にリアルタイム機能を統合することが容易になります。これにより、アプリケーションやモバイル クライアントを構築することがより困難になるでしょうか?
すでにこのようなことをやっている人がいることがわかりました。 ソケット ストリーム
どのように解決するのですか?
ここでの他の回答にメリットがないとは言いませんし、良い点もあります。しかし、私は一般的な意見に反して、単なるリアルタイム機能以上のために Web ソケットに移行することは非常に魅力的であるという意見に同意します。
私は、自分のアプリを RESTful アーキテクチャから、websocket を介したより多くの RPC スタイルに移行することを真剣に検討しています。これはおもちゃのアプリではなく、また、リアルタイム機能だけについて話しているのでもないので、予約はしています。しかし、このルートを進むことで多くの利点が得られると思いますし、例外的なソリューションになる可能性があると感じています。
私の計画では DNode , ソケットIO そして バックボーン . これらのツールを使えば、私のBackboneのモデルやコレクションは、RPCスタイルの関数を呼び出すだけで、クライアントとサーバーの間で受け渡しすることができます。RESTエンドポイントの管理、オブジェクトのシリアライズ/デシリアライズなどはもう必要ない。私はまだsocketstreamを使ったことがありませんが、チェックアウトする価値はありそうです。
これが良いソリューションであると決定的に言えるまでにはまだ長い道のりがありますし、すべてのアプリケーションにとって最適なソリューションでないことは確かですが、この組み合わせは非常に強力であろうと確信しています。リソースをキャッシュできなくなるなど、欠点があることは認めます。しかし、私は、利点がそれらを凌駕することを予感しています。
私は、このタイプのソリューションを探求するあなたの進捗をフォローすることに興味があります。もし github での実験があれば、それを紹介してください。私はまだ何も持っていませんが、すぐにでもそうしたいと思っています。
以下は、私が集めている「後で読む」リンクのリストです。私はそれらの多くをざっと読んだだけなので、それらがすべて価値あるものであることを保証することはできません。しかし、いくつかが助けになることを願っています。
Express で Socket.IO を使用するための優れたチュートリアルです。このチュートリアルでは、Express セッションを socket.io に公開し、認証されたユーザーごとに異なる部屋を用意する方法について説明します。
node.js/socket.io/backbone.js/express/connect/jade/redis と認証、Joyentホスティングなどに関するチュートリアルです。
- http://fzysqr.com/2011/02/28/nodechat-js-using-node-js-backbone-js-socket-io-and-redis-to-make-a-real-time-chat-app/
- http://fzysqr.com/2011/03/27/nodechat-js-continued-authentication-profiles-ponies-and-a-meaner-socket-io/
Backbone.jsでPusherを使うためのチュートリアル(Railsを使用)。
クライアントにbackbone.js、サーバーにexpress, socket.io, dnodeなどのnode.jsを使用してアプリケーションを構築します。
- http://andyet.net/blog/2011/feb/15/re-using-backbonejs-models-on-the-server-with-node/
- http://addyosmani.com/blog/building-spas-jquerys-best-friends/
- http://fzysqr.com/2011/02/28/nodechat-js-using-node-js-backbone-js-socket-io-and-redis-to-make-a-real-time-chat-app/
- http://fzysqr.com/2011/03/27/nodechat-js-continued-authentication-profiles-ponies-and-a-meaner-socket-io/
DNodeでBackboneを使用する。
- http://quickleft.com/blog/backbone-without-ajax-part-ii
- http://quickleft.com/blog/backbone-without-ajax-part-1
- http://sorensen.posterous.com/introducing-backbone-redis
- https://github.com/cowboyrushforth/minespotter
- http://amir.unoc.net/how-to-share-backbonejs-models-with-nodejs
- http://hackerne.ws/item?id=2222935
- http://substack.net/posts/24ab8c
関連
-
[解決済み] SOAPとRESTの比較(相違点)
-
[解決済み] 検証失敗または重複が無効な場合のREST HTTPステータスコード
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】REST APIでのPUTメソッドとPATCHメソッドの使い分け 実生活でのシナリオ
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] JavaScriptデータフォーマット/プリティプリンタ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] ECMAScriptとは?
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] JavaScript で `throw` の後に `return` をする必要がありますか?
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]