On May 28, the library for creating real-time applications on Node.js Socket.IO has grown to version 1.0.
Socket.IO appeared almost immediately after the appearance of Node.js and quickly became one of the most popular and sought-after projects of the Node ecosystem. Socket.IO implements real-time server and client communication using Web Sockets, and in the absence of this API in older browsers, emulates sockets using other available technologies — Adobe Flash sockets, AJAX or JSONP requests.
In version 1.0, the logic of the library and the low-level engine that implements communication in old browsers are finally divided. Now all the code related to this task is assembled in a separate
Engine.IO module. Thanks to this, the Socket.IO code has become smaller and cleaner, adding new types of transport has become easier, and if the developer decided to rely only on Web Sockets, then Engine.IO can not be used at all.
Socket.IO now supports binary data streams, and makes it more flexible than Web Sockets - the types
Buffer
,
Blob
,
ArrayBuffer
and even
File
can be included in the data structures being transferred. In the original web socket you can only set the mode of using the socket - binary or symbolic.
Other changes include improved testing infrastructure, improved scaling of Socket.IO applications, integration with applications written in languages other than JavaScript, improved debugging tools, changes in the API towards simplification and unification. In more detail all the differences of version 1.0 are described
in the article in the project blog dedicated to the release.
')