Professional Node.JS development
Node.JS is an open source project.
It is a cross platform environment and has runtime for windows, mac OS X, and Linux.
Node.JS philosophy is that is core should be kept as small as possible.
The original author of Node JS is Ryan Dahl who originally wrote Node JS in 2009.
He demonstrated his projects at the inaugural European JSConf on November 8, 2009. Dahl was inspired to create Node.js from Flicker progress bar widget.
He wanted to prevent first frame from flickering when animation starts and that point was his inspiration moment…
The official documentation of Node.JS describes is it as:
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.”
Node.js provides an event-driven architecture and a non-blocking I/O API designed to optimize an application's throughput and it scales well for real-time Web applications. (More on that later)
Node.js goal is to provide an easy way to build scalable network programs with asynchronous processing model.
The main benefits are:
- Single thread Asynchronous I/O framework
- Core in c++ on top of V8.Implemented on top of the v8 js engine (chromium and chrome engine)
- Files io and db are non blocking
- Very good for all the network related stuff
- It can handle thousands of concurrent connections with minimal overhead(CPU/Memory) on a single process
- Has a very small surface area backed by an enormous modules and extensions available from the large community supporting it.
- Amazing performance even handling a big number of users
What makes Node.JS so fast?
Node.JS contains the new V8 engine.
The JS VM v8 engine of chrome is a super-fast with smart performance optimizations VM that was designed & created by the Danish Lars Bak (a virtual machine master/ genius).
The V8 engine reference the libuv library that is based on asynchronous I/O. It was mainly developed for use by Node.js
The initial release supported only Linux.
Later on the NPM package manager was integrated with the release of NODE.JS.
It helped the community to publish and share open source Node.JS libraries that brought more functionality into the ecosystem.
Image of Ryan Dahl - NODE.JS creator
Ryan Dahl video talk demonstration at JSConf Nov 2009.
For What exactly Node.JS is used these days?
Developers mainly use Node.js on the back-end, but it is popular as a full-stack and front-end solution as well.
This is no surprise since node.js strengths are that it is a full stack language which enable tou to write projects both for the frontend and for the backend.
Which kind of applications are built today with node.js?
according to the node js foundation survey: