蟻地獄

Twitterに書ききれない長めの文とか書くよ

socket.io とは何だったのか

「Socket.IO は必要か?」または「WebSocket は通るのか?」問題について 2016 年版
socket.io が提供してくれているものは何か - from scratch

実はこの辺りの話って、公式サイトのFAQに書いてあるんですよね。・・・と思って久しぶりに公式サイト見てみたら、おっしゃれーにリニューアルされてて以前のFAQが無くなっていました。

というわけでv0.9の頃のサイトをInternet Archiveから引っ張り出してきました。
Socket.IO: the cross-browser WebSocket for realtime apps.

Why not just call it `WebSocket` if the actual WebSocket is not present and mimick its API?

抄訳: ヘイボブ!これってただのWebSocketの代わりじゃないの?

Socket.IO does more than WebSocket, even if WebSocket is selected as the transport and the user is browsing your website with an ultra modern browser. Certain features like heartbeats, timeouts and disconnection support are vital to realtime applications but are not provided by the WebSocket API out of the box.

This is akin to jQuery's decision of creating a feature-rich and simple $.ajax API as opposed to normalizing XMLHttpRequest.

抄訳: 何を言ってるんだいアリス!たとえWebSocketで通信できる環境でも、Socket.IOはWebSocketよりすごいんだ!ハートビートやタイムアウトや再接続なんかはリアルタイムアプリケーションには必須だけど、WebSocketは提供していないだろう?jQueryがただのXMLHttpRequestの代わりじゃないのと同じさ!