Node.js is an open-source server environment and runs cross-platform. It executes JavaScript code outside a browser, allowing users to write Command Line tools. Clients also use JavaScript for server-side scripting where scripts are run server-side to create web content before the page is sent to the user’s web browser. Node.js, therefore, is very memory efficient because it eliminates the waiting in between requests and runs single-threaded, non-blocking, asynchronously programming.

Instead of using different languages for server side and client side scripts, Node.js links the development of web applications through only one programming language – JavaScript.

Ryan Dahl’s dissatisfaction with the Apache HTTP Server (the most popular server at the time) sparked his initial release of Node.js in 2009. Dahl aimed to improve the handling of multiple concurrent connections and resolve the sequential programming problem where code completely blocked the process or implied multiple execution stacks like simultaneous connections. The original release only supported two platforms, Linux and Mac OS X but by 2011 Windows was also a supported platform as well as several others.

The server follows an event driven architecture with an asynchronous I/O design. This optimises throughput and scalability in web applications that require multiple input/output operations. The program can also be used for real-time web applications because of this design, such as browser games. It can be compared to systems like Ruby’s Event Machine or Python’s Twisted. The difference is that Node.js doesn’t have a blocking call and presents an event loop as a runtime construct instead of as a library. Node.js enters the event loop after executing the input script and exits when all callbacks are completed.

Our development teams have used Node.js on a number of projects in the past and would be happy to discuss any potential projects you have in mind for the technology.

Get in touch

Either contact us using the details below, or fill out this form to send your message. If you’ve got a brief ready then attach that too. We’ll get back to you as soon as possible. +44 (0) 20 3137 5612 86-90 Paul Street,
London EC2A 4NE

We’ll never spam you or share your contact details with any other parties. Any files you share with us will be considered confidential.