Node.js has revolutionized how we think about JavaScript development. In this guide, we'll explore the fundamentals of Node.js and why it's become such a popular choice for modern web development.

What is Node.js?

Node.js is a runtime environment that allows you to execute JavaScript code outside of a web browser. This opened up new possibilities for using JavaScript on the server side.

Key Features

  1. Event-Driven Architecture

    • Non-blocking I/O operations
    • Asynchronous programming model
    • Event loop for handling concurrent operations
  2. Package Management

    • NPM (Node Package Manager)
    • Vast ecosystem of open-source packages
    • Easy dependency management

Setting Up Your Development Environment

# Install Node.js
node -v
npm -v

# Create a new project
mkdir my-node-project
cd my-node-project
npm init -y

Writing Your First Node.js Application

Here's a simple HTTP server:

const http = require('http');

const server = http.createServer((req, res) => {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
});

server.listen(3000, () => {
    console.log('Server running at http://localhost:3000/');
});