> Not enough frameworks make this as seamless as it should be.
There are lots of options for Node.js, for both low-level socket-like libraries (SockJS, SocketIO, EngineIO), and frameworks (Meteor, Derby, SocketStream).
Thinking of this, it's a pity that SocketStream failed to gain traction. It has a lot, technically, and was way ahead of its time (in 2011). Beside the middleware framework for WebSockets, it also provides
* RPC and Pub/Sub, built on top of the middleware stack,
* live reload for development, including swapping CSS files without reloading the full age, which enables
* automated, continuous testing in as many browsers as you like (keep your test pages open, they are reloaded on file change)
* a Browserify-like environment to structure the client code.
* an elaborated asset pipeline, that handles JavaScript, HTML and CSS preprocessors, and packs/compresses everything for production.https://github.com/socketstream/socketstream
Both the socket layer and the asset preprocessors are based on plugins, which makes the framework flexible.
A really good system, that was plagued by a severe case of not second but third system syndrome, which scared users away, since they (rightfully) feared that the rewrites would leave them in the cold.
The original developer (Owen Barnes) is a visionay and a brillant programmer, but he still failed to execute by never being satisfied with the implementation details. He has now moved on, and the framework is being maintained by Paul Jensen. Things have now stabilized. A third rewrite of the framework has been canned. The frameworks is still as good, but it remains marginal because Meteor managed to get the mind share.
There are lots of options for Node.js, for both low-level socket-like libraries (SockJS, SocketIO, EngineIO), and frameworks (Meteor, Derby, SocketStream).
Thinking of this, it's a pity that SocketStream failed to gain traction. It has a lot, technically, and was way ahead of its time (in 2011). Beside the middleware framework for WebSockets, it also provides
* RPC and Pub/Sub, built on top of the middleware stack,
* live reload for development, including swapping CSS files without reloading the full age, which enables
* automated, continuous testing in as many browsers as you like (keep your test pages open, they are reloaded on file change)
* a Browserify-like environment to structure the client code.
* an elaborated asset pipeline, that handles JavaScript, HTML and CSS preprocessors, and packs/compresses everything for production.https://github.com/socketstream/socketstream
Both the socket layer and the asset preprocessors are based on plugins, which makes the framework flexible.
A really good system, that was plagued by a severe case of not second but third system syndrome, which scared users away, since they (rightfully) feared that the rewrites would leave them in the cold.
The original developer (Owen Barnes) is a visionay and a brillant programmer, but he still failed to execute by never being satisfied with the implementation details. He has now moved on, and the framework is being maintained by Paul Jensen. Things have now stabilized. A third rewrite of the framework has been canned. The frameworks is still as good, but it remains marginal because Meteor managed to get the mind share.
[0] https://github.com/socketstream/socketstream