Node.js je open-source, cross-platform JavaScript runtime environment, který umožňuje vývojářům psát serverovou stranu aplikací v JavaScriptu.
Charakteristiky
Asynchronní a událostmi řízené programování:
Node.js je navržen tak, aby byl efektivní pro I/O-vysoce náročné aplikace.
Jeho asynchronní model umožňuje obsluhovat mnoho požadavků současně, což je důležité pro webové aplikace s vysokou odezvou.
JavaScript na serveru:
Node.js umožňuje vývojářům psát serverovou stranu aplikací v JavaScriptu.
To usnadňuje synchronizaci kódu mezi klientem a serverem.
Modulární architektura:
Node.js podporuje moduly, což umožňuje vývojářům snadno rozšiřovat a znovupoužívat kód pomocí balíčků dostupných v Node.js balíčkovacím manažeru npm (Node Package Manager).
Výkon:
Díky použití enginu V8 od společnosti Google je Node.js známý pro svůj vysoký výkon a rychlost.
Použití
Webové aplikace: Node.js se často používá pro vytváření webových serverů a backendových aplikací, které mají asynchronní a vysoké požadavky na I/O.
API server: Node.js je ideální pro vytváření API serverů, které poskytují rozhraní pro komunikaci mezi klientem a serverem.
Real-time aplikace: Díky své schopnosti manipulovat s asynchronními událostmi je Node.js vhodný pro vytváření real-time aplikací, jako jsou chatovací aplikace, online hry a streamování dat.
Nástroje pro vývojáře: Node.js lze také použít pro vytváření nástrojů pro vývojáře, jako jsou build systémy, testovací nástroje a další.
IoT (Internet of Things): Node.js je vhodný pro vytváření aplikací pro IoT zařízení, protože umožňuje snadnou komunikaci s různými zařízeními pomocí protokolů jako MQTT nebo HTTP.
Příklad kódu Node.js serveru
// Importování potřebných modulůconst http = require('http');// Definování handleru, který zpracuje příchozí požadavkyconst requestHandler = (request, response) => { console.log(`Přijatý požadavek z ${request.url}`); // Odpověď na různé URL adresy if (request.url === '/') { response.end('Hello, world!'); } else if (request.url === '/about') { response.end('About page'); } else { response.end('404 Not Found'); }};// Vytvoření serveru pomocí modulu httpconst server = http.createServer(requestHandler);// Server bude naslouchat na portu 3000const port = 3000;// Spuštění serveru a zpráva o spuštěníserver.listen(port, (err) => { if (err) { return console.log('Nastala chyba při spouštění serveru:', err); } console.log(`Server běží na http://localhost:${port}/`);});