Timeline of Key Events
- 2009
- Node.js created by Ryan Dahl (initially on macOS & Linux)
- Initially used SpiderMonkey (Firefox’s JS engine) but later switched
- Adopted V8 (Google Chrome’s JavaScript engine) for performance
- Introduced Non-blocking I/O model
- 2010
- Launch of npm (Node Package Manager)
- 2011
- Added Windows support
- Backed by Joyent and Microsoft
- 2012
- Project lead passed to Isaac Schlueter (creator of npm)
- 2015
- Node.js merged with io.js (a community fork)
- Formed the Node.js Foundation
- 2019
- Node.js Foundation merged with JS Foundation
- Formed the OpenJS Foundation under the Linux Foundation
- 2020+
- Node.js added stable ES Modules support
- Major improvements in performance, diagnostics, and developer tooling
- 2023–2024
- Active LTS releases (Node.js 18, 20)
- Focus on better performance, security, and WebAssembly support
đź”§ Why Node.js Was Created
- Traditional web servers like Apache HTTP Server use blocking I/O.
- Ryan Dahl wanted an environment with:
- Non-blocking I/O for faster performance
- Lightweight handling of concurrent requests
- Created
web.js to demonstrate building a web server using JavaScript
⚙️ Core Components in Early Node.js
- V8 Engine: Executes JavaScript code at high speed
- libuv (not shown in image, but important): Handles the non-blocking I/O using event loop and thread pool
đź§ JS on Server