Table of Contents
Question no. 1: What is Node.js?
Question no. 2: Why is Node.js popular?
Answer: Here are the top 5 reasons why Node.js is popular:
Most popular technologies among developers
2. It is fast
Node.js follows the asynchronous approach, which means the entire code is executed at once. Two threads can run in parallel and are independent of each other. They don’t interrupt each other at the time of execution. This is another factor that makes Node.js faster and more efficient than other technologies such as PHP, Ruby, etc.
3. It is lightweight
Node.js is based on event-driven architecture. This means all input/output operations are executed on a single thread, in an asynchronous manner. Let’s understand this with the help of an example:
Suppose 200 people are connected at once through a network. Instead of running different threads for different connections, Node.js will loop all these connections on a single thread (This is in contrast with other web technologies such as PHP where a new thread is spawned for every new connection). It will give instructions about the generated events (actions or occurrence). This means it will notify you with every occurrence, such as if a new client joined the connection, if any existing client left the connection, if any client sends any message, etc. Also, if any connection is idle, then it will skip over it, rather than consuming the CPU time on it, ensuring the CPU is utilized efficiently. Everything in Node.js is based on responding to these events. Therefore, there is no buffering in Node.js applications, it gives output in the form of chunks. This makes Node.js a lightweight platform.
4. Easier to maintain and modify
Unlike traditional web technologies, in Node.js a bunch of small applications is created instead of a large and single application. Therefore, it’s easy to make modifications or add new functionalities in the code.
5. High performance
Here are some examples of the performance capabilities of Node.js:
- LinkedIn has reduced the number of servers from 30 to 3 (almost 90% reduction) since it started using Node.js.
- PayPal reported that after using Node.js, the capacity of handling the number of requests per second has increased twice and the response time of their website is reduced by 35%.
Question no. 3: What can Node.js do?
Answer: Here is the list of the activities that Node.js can do:
- It can create dynamic web page content.
- It can modify, add and delete data in your database.
- It can develop highly scalable server-side applications.
- It can read, write, open, create and close files on the webserver.
- It can build certain types of applications, including Internet Of Things (IoT), data streaming apps, real-time chat apps, microservices architecture and more.
Related link: Types of Applications You Can Build With Node.js
Question no. 4: How is Node.js different from traditional web-scripting?
Answer: Let’s understand how Node.js is different from a traditional server-side scripting environment.
Traditional web-scripting vs Node.js
- Traditional web-scripting:
Traditional scripting language runs the application using a separate server, such as Apache. It is thread based, and it creates new threads for each client request. This leads to complex debugging and testing processes. Also, the whole thread gets blocked if the process is waiting for Input/Output operations. Look at the image below. It shows that the process needs to wait until the complete execution of the previous process. This consumes a lot of time and energy of the CPU.
(image credit: thedigitalgroup.com)
Node.js has a built-in module called HTTP that runs on a standalone web server. It can handle multiple concurrent requests because it is single-threaded, follows asynchronous programming and event-driven architecture. Unlike traditional web-scripting, Node.js eliminates the waiting time and simply continues with the processing of next requests. This makes it fast and memory efficient.
Look at the image given below.
(image credit: thedigitalgroup.com)
Question no. 5: Is Node.js faster than using other competitive solutions in the market?
Answer: Code is the foremost consideration when developing any application. Node.js will not eliminate the low-performance issue if the developer has not written the code well. However, as compared to Ruby on Rails, it is capable of handling concurrent multiple requests and a massive amount of traffic on a network.
Question no. 6: When shouldn’t you use Node.js?
Answer: Node.js doesn’t work well with CPU intensive tasks, such as editing audio, graphics or images, and scientific apps. It becomes unresponsive and sluggish, blocking incoming requests when it is used for long calculations or graphic operations. This, in turn, slows down the performance.
Question no. 7: What makes Node.js a great choice?
Answer: Things that make Node.js a great choice:
- It is based on asynchronous programming that makes it fast and efficient.
- It follows event-driven architecture that makes it lightweight and capable of handling multiple concurrent requests, hence making it suitable for IoT, real-time chat apps and more.
- It uses the npm package manager, that helps developers to work faster.
What is the npm package manager and how is it helping developers?