1. Open source

Projects can be useful for programmers. You can learn by reading the source code and build something on top of the existing projects. Being Open Source enables that.

Cross Platform means Node.js applications are written in JavaScript, and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux.

2. Server Side Framework

JavaScript was used mainly for client-side scripting.

Client Side Scripting means scripts written in JavaScript are embedded in a webpage’s HTML and run client-side by a JavaScript engine in the user’s web browser.

Node.js lets developers use JavaScript to write Command Line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user’s web browser.

5. No Buffering

Node.js applications simply output the data in chunks intead of buffering. This feature makes them very fast and scalable. Streaming websites like Netflix and other prefer Node.js for some part of their development.

6. Node Package Manager(NPM)

npm is a package manager for the JavaScript programming language. It is the default package manager for the JavaScript runtime environment Node.js.

Node Package Manager is the root of almost all deployment systems for Node.js and underlies the many PaaS (platform-as-a-service) providers for Node.js.

7. Callbacks

Node makes heavy use of callbacks. All the APIs of Node are written in such a way that they support callbacks.

8. Event Driven

Node.js uses events heavily and it is also one of the reasons why Node.js is pretty fast.

In an event-driven application, there is generally a main loop that listens for events, and then triggers a callback function when one of those events is detected.he functions that listen to events act as Observers.