The result, though, is a cross-platform (OS X, Microsoft Windows and Linux ) runtime environment for both server-side and networking applications. Even cloud providers are taking note of Node.js because it is lightweight and easy to work with and has benefits on both the server and client side.
Among its key characteristics, Node.js uses non-blocking I/O and asynchronous events and it includes a built-in asynchronous I/O library for file, socket, and HTTP communication. Those aspects of Node.js allow applications to act as Web servers without needing software such as Apache HTTP Server or IIS.
A recent article about Node.js on readwrite.com noted that despite its adoption by many high-profile organizations (Wal-Mart, PayPal, and Uber, for example), it has still to appear in an official 1.0 version. According to writer Lauren Orsini, the Node.js development team is simply wary of certifying anything that isn’t truly ready for prime time. And, says the lead programmer, TJ Fontaine, what matters is not the version number but the quality. Indeed, accolades have been piling up.
For instance, PayPal claims to have saved time on development and the application they got with Node.js handled twice the load of a more traditional application while offering a 35 percent faster response time.
Perhaps even more noteworthy, retail giant Wal-Mart ended up implementing applications with Node.js just in time for Black Friday – and found it was more than able to handle the peak loads of the day. Again, Node.js can handle thousands of concurrent connections, without running up against RAM limitations. Subsequently, Wal-Mart has used Node.js to deliver client side features for mobile shoppers, customizing content based on device type and browser capabilities.
According to Nodejs.org, Node.js is an asynchronous event driven framework designed to build scalable network applications. This is in contrast to today’s more common concurrency model where OS threads are employed. The argument made for Node.js is that traditional thread-based networking is relatively inefficient and very difficult to use. By contrast, Node.js leaves developers without worries of dead-locking the process because there are no locks. In fact, almost no function in Node directly performs I/O, so the process never blocks. Because nothing blocks, even less-than-expert programmers are able to develop scalable systems, they say.
The bottom line? Node.js does a lot with a little and it is making waves across the industry. Be prepared to talk the talk and walk the walk when Node.js comes your way.