What is NodeJS and How Do You Use It?

Admin_Mike
Posted on in Dev Tech

Author Mike Rough

What is NodeJS?

Node is a game changing server-side JavaScript interpreter that is transforming the way we think of how a server should work. The goal of NodeJS is to enable single machines to handle thousands of simultaneous connections typical of complex highly scalable applications.

The primary goal of Node is “to provide an easy way to build scalable network programs”. Until Node there were few options to handling high volume server side application other than to install additional servers to your network and incurring increased outflow of capital for hardware and bandwidth. Putting it in perspective, applications using PHP or Java™ use at least 2MB of memory for each new connection, quickly maxing out a typical 8 Gig server at 4000 users.

The beauty of Node is how it solves this issue. Node changes how a connection is made to the server. By firing an event inside Node’s engine process instead of spawning a new OS thread for each connection you limit the amount of I/O calls and associated hard memory allocation per connection. If used correctly Node is touted to be able to support tens of thousands of concurrent connections.

How Node works

The power of Node is being driven by V8 JavaScript, the same underlying JavaScript engine that Google developed and employs for Chrome. Using the JavaScript engine Node interprets the code and executes it.

Future of Node

Similar to introduction of any new format Node’s community is rapidly expanding with literally thousands of new plugins, addons, and scripts being produced monthly to support this revolutionary concept. Node is already changing the way we think about application optimization and network management. Learning and creating with Node just may be the smartest way to ensure that no matter your application, your ability to handle explosive growth is not limited to the amount of hardware you have wired up.

Tagged

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>