1. ホーム
  2. javascript

[解決済み] REST APIに代わるWebsocket API?[クローズド]

2022-09-28 10:09:52

質問

私は、主要な機能が、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ホスティングなどに関するチュートリアルです。

Backbone.jsでPusherを使うためのチュートリアル(Railsを使用)。

クライアントにbackbone.js、サーバーにexpress, socket.io, dnodeなどのnode.jsを使用してアプリケーションを構築します。

DNodeでBackboneを使用する。