So here's what LearnBoost is doing (if I understood this correctly): they're splitting Socket.io into two lower level layers, Websocket.io and Engine.io.
Websocket.io only does websockets transports (... all six of 'em)
Engine.io is a slightly higher level package that adds more transports
(polling, flash), and which uses websocket.io.
These two both expose a websockets -like API over the transports they provide.
Socket.io becomes a particular implementation of a Comet stack that depends on these two, with some client extra niceties. This means that the code behind Socket.io can be reused elsewhere on a lower level without resorting to patching a full stack framework like Socket.io. Developers get a greater deal of control and the project is more clearly split into different parts. Awesome!
So here's what LearnBoost is doing (if I understood this correctly): they're splitting Socket.io into two lower level layers, Websocket.io and Engine.io.
Websocket.io only does websockets transports (... all six of 'em)
Engine.io is a slightly higher level package that adds more transports (polling, flash), and which uses websocket.io.
These two both expose a websockets -like API over the transports they provide.
Socket.io becomes a particular implementation of a Comet stack that depends on these two, with some client extra niceties. This means that the code behind Socket.io can be reused elsewhere on a lower level without resorting to patching a full stack framework like Socket.io. Developers get a greater deal of control and the project is more clearly split into different parts. Awesome!