Obsah
Node.js
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.
Historie
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.
Jak Node.js funguje
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í.
Vlastnosti
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ářů.
NPM
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
Jednoduchý příklad
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.
Oblasti použití
Webové servery. REST API. Chatovací aplikace. Streamovací služby. Mikroservisy. IoT aplikace. CLI nástroje. Backend webových aplikací.
Výhody
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í.
Nevýhody
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.
Související pojmy
JavaScript: Kompletní monografie od A do Z Event Loop Event-Driven Programming npm backend rest api express.js v8 engine
Shrnutí
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í.
