Node.js je open-source běhové prostředí (runtime environment), které umožňuje spouštět jazyk JavaScript mimo webový prohlížeč. Bylo vytvořeno v roce 2009 vývojářem Ryan Dahl a je postaveno na JavaScriptovém enginu V8, který vyvíjí Google.
Node.js se používá především pro vývoj serverových aplikací, API, síťových služeb, nástrojů příkazové řádky a aplikací pracujících v reálném čase.
První verze Node.js byla vydána v roce 2009. Jeho hlavním cílem bylo umožnit vývojářům používat JavaScript nejen v prohlížeči, ale také na serveru.
Projekt je dnes spravován organizací OpenJS Foundation a patří mezi nejpoužívanější technologie pro backendový vývoj.
Node.js využívá:
JavaScript Engine V8 Event Loop Asynchronní I/O operace Event-Driven Programming
Na rozdíl od tradičních serverových technologií nevytváří nové vlákno pro každý požadavek. Místo toho používá událostní model a neblokující operace.
Klientský požadavek ↓ Event Loop ↓ Asynchronní zpracování ↓ Odeslání odpovědi
Tento přístup umožňuje efektivně obsluhovat velké množství současných připojení.
Open-source software. Vysoký výkon díky enginu V8. Podpora asynchronního programování. Velké množství dostupných knihoven. Podpora multiplatformního provozu. Aktivní komunita vývojářů.
Součástí Node.js je NPM (Node Package Manager), největší repozitář JavaScriptových balíčků na světě.
Pomocí NPM lze snadno instalovat knihovny a nástroje:
npm install express
HTTP server v Node.js:
const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200); res.end('Hello World'); }); server.listen(3000);
Po spuštění bude server naslouchat na portu 3000.
Webové servery. REST API. Chatovací aplikace. Streamovací služby. Mikroservisy. IoT aplikace. CLI nástroje. Backend webových aplikací.
Jeden programovací jazyk pro frontend i backend. Vysoký výkon. Výborná podpora asynchronních operací. Obrovský ekosystém balíčků. Rychlý vývoj aplikací.
Méně vhodné pro výpočetně náročné úlohy. Složitější práce s rozsáhlými asynchronními aplikacemi. Kvalita NPM balíčků se může výrazně lišit.
JavaScript: Kompletní monografie od A do Z Event Loop Event-Driven Programming npm backend rest api express.js v8 engine
Node.js je běhové prostředí umožňující spouštění JavaScriptu na serveru i mimo webový prohlížeč. Díky neblokujícímu I/O modelu, event loopu a rozsáhlému ekosystému NPM patří mezi nejpopulárnější technologie pro vývoj moderních webových a síťových aplikací.