What is Node.js?
Node.js is an open source and it does provide the run-time environment for creating the server side applications and it's used to develop the real time server and networking applications.
Its support to the event driven architecture pattern and it handles I/O.
Node.js was originally written in 2009 by Ryan Dahl.
Features of Node.js
· It is an asynchronous and event-driven system.
· Single-threaded event-driven system
· It is very lightweight and fast.
· Easy to configure
· Node never buffering
· It is highly scalable but single threaded.
· Safe and secure.
Where to use Node.js?
· Single Page Applications
· Streaming Data
· A Real-time Applications like online games, collaboration tools and chat rooms etc.
· I/O bound Applications
· APIs based Applications
· JSON based Applications
· PROXY Applications
Where not to use Node.js?
· Nested callback hell.
· In Node.js, any CPU intensive computation will block the responsiveness.
· Dealing with files can be a bit of a pain.
· In Node.js, the relational database is a bit of a pain.
· It's asynchronous programming model not for synchronous model.
Who uses it?
Google, IBM, LinkedIn, PayPal, Netflix, Groupon, Uber, GoDaddy etc.