Node.js is an environment of execution of input / output directed by events asynchronously is executed on the JavaScript interpreter V8 created by Google.

It's a server-side JavaScript environment, based on events. Node runs JavaScript using the V8 engine, developed by Google to use its Chrome browser. Leveraging the V8 engine allows Node to provide a server-side execution environment that compiles and executes JavaScript at incredible speeds. The speed increase is important because V8 compiles JavaScript in native machine code, instead of interpreting it or executing it as bytecode

Server-side JavaScript?

Yes, JavaScript has traditionally been made to perform minor tasks in the browser, it is currently a programming language totally, as capable as any other traditional language such as C ++, Ruby or Java. In addition, JavaScript has the advantage of having an excellent event model, ideal for asynchronous programming.

JavaScript has the advantage of being a known language, this makes NodeJS easier to learn since you do not have to learn a language completely of 0.

NodeJS allows you to solve a big problem called bottleneck, which is that each connection generates a thread that consumes 2MB of memory, how many more users, more servers will we need to support all these users.

NodeJS changes the way a connection is made to the server, instead of generating a new thread for each connection, each connection triggers an event execution within the Node engine process. Node claims that it will never stay in neutral, because blocking is not allowed and because it is not blocked directly for I / O calls.

Like most new Node technologies it is not easy to implement in existing accommodations. In shared hosting we will have to see if a node.js application can work; This will depend on the hosting company. If the hosting is in a VPS or dedicated server it will be easier since you can run NodeJS applications without problems.

In summary, NodeJS is good for its high speed, it has a very fast development, the applications to be so fast the user experience is better.