Hello guys! we welcome you to a brand new tutorial series on Node.js. In this tutorial, we will be introducing Node.js to you guys.
What is Node.js?
Node.js is a server-side environment built on Google Chrome's JavaScript engine (version 8 engine). Node.js was created by Ryan Dahl in 2009 and its latest version is v17.6.0. The definitions of Node.js as given by its official documentation is as follows -
Node.js is a platform created on Chrome's JavaScript runtime for easy building of very fast and flexible web application. Node.js makes use of event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for building data-intensive real-time application that runs across distributed devices.
Node.js is an open source, cross paltform runtime environment for developing server-side and networking applications. Node.js applications are written in JavaScript, and can be run within Node.js runtime on OS X, Microsoft Windows, and Linux.
Node.js also makes available to users a rich library of various JavaScript modules which simplifies the design & development of web applications via Node.js to a great extent.
Node.js also makes available to users a rich library of various JavaScript modules which simplifies the design & development of web applications via Node.js to a great extent.
Node.js = Runtime Environment + JavaScript Library
Features of Node.js
Following below are some of the important features that makes Node.js the first choice of software architects -
- Asynchronous and Event Driven - All APIs present in the Node.js library are asynchronous, that's, non-blocking. It basically means a Node.js based web server never waits for an API to return data. The data moves to the next API after calling the API and a notification mechanism of Events of Node.js help the server to get a response from the previous API call.
- Single Threaded but Highly Scalable - Node.js uses a single threaded model with event looping. Event mechanism helps the web server respond in a non-blocking manner and makes the server highly scalable as opposed to regular servers which creates limited threads to handle request. Node.js makes use of a single threaded program and the same program can give services to a much larger number of requests than traditional servers like Apache HTTP Server.
- Fast - Being built on Google Chrome's V8 JavaScript Engine, Node.js library is very fast in code execution.
- No Buffering - Node.js applications do not buffer a data. They simply output the data in chunks.
- Licensing - Node.js is released under the MIT license.
Who Uses Node.js?
The following below is a link to GitHub wiki containing a comprehensive list of projects, application and companies which are using Node.js. This list includes Yahoo, Microsoft, PayPal, General Electric, GoDaddy, Wikipins, Uber, eBay, and Yammer to name a few.
- Projects, applications, and companies Using Node.js.
Concepts
Following diagram potrays some important part of Node.js which we are going to study in details in subsequent tutorials.
Where to Use Node.js?
Following are the areas where Node.js is proving itself as a best technology patner.
- I/O bounds Applications
- Data Streaming Applications
- Data Intensive Real-time Applications
- JSON APIs based Applications
- Single Page Applications
Where Not to Use Node.js?
It isn't advisable to make use of Node.js for CPU intensive applications.
Alright guys! This is where we are going to be rounding up for this tutorial. In our next tutorial, we will be studying about Node.js Environment Setup.
Feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.
Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.
Thanks for reading and bye for now.
Feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.
Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.
Thanks for reading and bye for now.