Introduction to NodeJS (Part 1)
Quick Read on Node.js
Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine.
Node.js is cross-platform and open-source, maintained by the OpenJS Foundation.
Cross-platform means it can run on various operating systems. In 2019, the OpenJS Foundation took control over the JS Foundation and Node.js Foundation after their merger.
Node.js executes JavaScript code outside a web browser, making it versatile beyond just server-side applications.
It features an event-driven architecture and asynchronous I/O (non-blocking I/O).
Ryan Dahl, the founder of Node.js, initially used SpiderMonkey (Firefox’s JavaScript engine) but switched to V8 within two days and never looked back. 🔥
Earlier the name of NodeJS was " Web.js ", because his motive was to build web servers using it. But when he realized it's real potential (that it is something not just limited to creating Web Browsers), he renamed it as NodeJS.
What is non-blocking io?
"Non-Blocking io can handle multiple requests with lesser number of Threads". Non-blocking I/O allows a system to handle multiple requests simultaneously without waiting for each one to finish. Instead of blocking a thread while waiting for an operation to complete, it moves on to the next task. This makes it super-efficient, especially for I/O-bound applications like web servers.
Imagine it as a chef preparing multiple dishes at once, rather than waiting for one to cook before starting the next!
What do you think why NodeJS became this much popular and successful.
- Simply because of NPM.
NPM - Node.js skyrocketed in popularity due to its non-blocking I/O, making it perfect for real-time applications. But NPM, its package manager, played a crucial role too! NPM offers a vast registry of reusable packages, simplifying development and fostering a vibrant community.
Envision having a toolbox with millions of ready-to-use tools, making your coding journey faster and more efficient!
Subscribe to my newsletter
Read articles from Akriti directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Akriti
Akriti
“Innovative developer with a passion for continuous learning and expertise in cutting-edge technologies. Proficient in frontend development, particularly ReactJS and Tailwind CSS, and currently expanding my skills in Node.js and backend development. Enthusiastic about creating seamless user experiences and optimizing performance. Always eager to explore new tools and frameworks to stay ahead in the tech world.”