My understanding is that node.js is a python app that is geared towards the Linux world. Everyone seems to be quite happy with it’s speed and ability to handle many concurrent connections.
I’m coming from a Microsoft background and think node.js might be able to be implemented using WCF.
Can someone tell me how node.js operates from a network background, and optionally provide insight if this can be ported to WCF or the Azure Service Bus?
Node is a Javascript framework that
favorsrequires an event-driven approach to writing network services. Instead of blocking on networking operations, which is how network programming is usually done, Node gives you event handlers that are triggered when interesting stuff happens (clients connect, bytes arrive, DNS queries return, &c.).As a consequence, Node is well-suited to and is being widely explored for realtime web apps. A host of interesting libraries for Node are now available, thanks to it being a Javascript framework. Some of them hide incredible power behind a very cute API.
There are binary versions of Node for Windows, but they are not deemed stable yet. Node is much lower level than WCF/Azure — it’s an event driven wrapper for sockets, DNS, HTTP, &c. if you will. It does not enforce any requirements as to how a networked service should be implemented (such as contracts or data marshalling) other than being event driven. I believe implementing a Node clone on top of those technologies would harm low-latency (at least), but perhaps someone more qualified can tell if it can be done.
PS. The Node website does a good job of explaining how it all works.
PPS. Possibly related, although I didn’t have the time to read a lot about it, is Rx for .NET.