Node.JS

Node.js je open-source, multiplatformní běhové prostředí JavaScriptu, které běží na serverech. Od svého vydání v roce 2009 se tato platforma stala nesmírně populární a dnes hraje velmi důležitou roli v oblasti webového vývoje.
Celý článek na Node.JS ...

Zobrazit filtr
Hostitelské filtry
A2 Themes & Host Me Filter

Operační systém

Místo na disku

Paměť RAM

Typ disku

CPU jádra

Třídit

Trust Pilot Dream Host
Skóre - 9.7
Dream Host Logo
Dream Host

Vysněný hostitel

DreamObjects 40 GB
$0.95 /Měsíční

Recenze 3778

29 kupony

Umístění serveru


Dream Host Servers in AshburnSpojené státy
Porovnat
Trust Pilot ICDSoft
Skóre - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - Europe
$8 /Měsíční

Recenze 233


Umístění serveru


ICDSoft Servers in SofiaBulharsko ICDSoft Servers in BostonSpojené státy ICDSoft Servers in Hong KongHongkong
Porovnat
Trust Pilot ICDSoft
Skóre - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - USA
$8 /Měsíční

Recenze 233


Umístění serveru


ICDSoft Servers in SofiaBulharsko ICDSoft Servers in BostonSpojené státy ICDSoft Servers in Hong KongHongkong
Porovnat
Skóre - 9
A2hosting Logo
A2hosting

A2hosting

Lite
$3.92 /Měsíční

50 kupony

Umístění serveru


A2hosting Servers in AmsterdamHolandsko A2hosting Servers in MichiganSpojené státy A2hosting Servers in SingaporeSingapur
Porovnat
Trust Pilot Keliweb
Skóre - 9.8
Keliweb Logo
Keliweb

Keliweb

Prime
$5.51 /Měsíční

Recenze 453


Umístění serveru


Keliweb Servers in MilanoItálie
Porovnat
Trust Pilot JustHostMe
Skóre - 9.4
JustHostMe Logo
JustHostMe

JustHostMe

Starter
$3.11 /Měsíční

Recenze 72


Umístění serveru


JustHostMe Servers in United KingdomSpojené království
Porovnat
Trust Pilot Dream VPS
Skóre - 8.6
Dream VPS Logo
Dream VPS

Dream VPS

STARTER
$3.75 /Měsíční

Recenze 7


Umístění serveru


Dream VPS Servers in Hong KongHongkong Dream VPS Servers in Santa Clara Dream VPS Servers in New YorkSpojené státy Dream VPS Servers in LondonSpojené království Dream VPS Servers in AmsterdamHolandsko Dream VPS Servers in FrankfurtNěmecko Dream VPS Servers in IsraelIzrael
Porovnat
Trust Pilot Reseller Cube
Skóre - 8
Reseller Cube Logo
Reseller Cube

Reseller Cube

Basic USA
$5 /Měsíční

Recenze 4


Umístění serveru


Reseller Cube Servers in RaleighSpojené státy
Porovnat
Trust Pilot Univa Host
Skóre - 8
Univa Host Logo
Univa Host

Hostitel Univa

E-ECONOMY
$2.99 /Měsíční

Recenze 3


Umístění serveru


Univa Host Servers in GermanyNěmecko Univa Host Servers in United StatesSpojené státy
Porovnat
Trust Pilot OperaVPS
Skóre - 7.8
OperaVPS Logo
OperaVPS

OperaVPS

Linux 512MB
$7.99 /Měsíční

Recenze 3


Umístění serveru


OperaVPS Servers in United KingdomSpojené království OperaVPS Servers in AustriaRakousko OperaVPS Servers in CanadaKanada OperaVPS Servers in DenmarkDánsko OperaVPS Servers in FranceFrancie OperaVPS Servers in GermanyNěmecko OperaVPS Servers in ItalyItálie OperaVPS Servers in NetherlandsHolandsko OperaVPS Servers in RomaniaRumunsko OperaVPS Servers in United StatesSpojené státy
Porovnat
Trust Pilot L3Web Hosting
Skóre - 7.6
L3Web Hosting Logo
L3Web Hosting

L3Web Hosting

START UP
$1.99 /Měsíční

Recenze 2


Umístění serveru


L3Web Hosting Servers in IndiaIndie L3Web Hosting Servers in MunichNěmecko L3Web Hosting Servers in MiamiSpojené státy L3Web Hosting Servers in SingaporeSingapur L3Web Hosting Servers in United KingdomSpojené království
Porovnat
Trust Pilot Idea Stack
Skóre - 7.4
Idea Stack Logo
Idea Stack

Idea Stack

LEVEL 1
$2 /Měsíční

Recenze 2


Umístění serveru


Idea Stack Servers in SeattleSpojené státy
Porovnat
Trust Pilot Epic Host
Skóre - 7.4
Epic Host Logo
Epic Host

Epický hostitel

Cloud hosting
$2.37 /Měsíční

Recenze 1


Umístění serveru


Epic Host Servers in New DelhiIndie Epic Host Servers in UnionSpojené státy
Porovnat
Trust Pilot itanets.co.uk
Skóre - 7
itanets.co.uk Logo
itanets.co.uk

itanets.co.uk

JSP HOSTING 1
$5.19 /Měsíční

Recenze 2

Porovnat
Trust Pilot Digital Ocean
Skóre - 3.8
Digital Ocean Logo
Digital Ocean

Digitální oceán

$5 /mo
$5 /Měsíční

Recenze 214

38 kupony

Umístění serveru


Digital Ocean Servers in IndiaIndie Digital Ocean Servers in New YorkSpojené státy Digital Ocean Servers in AmsterdamHolandsko Digital Ocean Servers in LondonSpojené království Digital Ocean Servers in TorontoKanada Digital Ocean Servers in Frankfurt am MainNěmecko Digital Ocean Servers in SingaporeSingapur
Porovnat
Skóre - 10
HOST PRO KE Logo
HOST PRO KE

HOST PRO KE

Host Pro Starter
$9.38 /Roční


Umístění serveru


HOST PRO KE Servers in GermanyNěmecko
Porovnat
Skóre - 9.4
Accu WebHosting Logo
Accu WebHosting

Accu WebHosting

Windows Personal Web Hosting
$2.99 /Měsíční

19 kupony

Umístění serveru


Accu WebHosting Servers in FranceFrancie Accu WebHosting Servers in DenverSpojené státy Accu WebHosting Servers in MumbaiIndie Accu WebHosting Servers in AmsterdamHolandsko Accu WebHosting Servers in Frankfurt am MainNěmecko Accu WebHosting Servers in SydneyAustrálie Accu WebHosting Servers in LondonSpojené království Accu WebHosting Servers in PolandPolsko Accu WebHosting Servers in CanadaKanada Accu WebHosting Servers in SingaporeSingapur
Porovnat
Skóre - 9
Be hostings Logo
Be hostings

Buďte hostování

StarterSSL
$3.36 /Měsíční


Umístění serveru


Be hostings Servers in BrusselsBelgie
Porovnat
Skóre - 4.3
Gear Host Logo
Gear Host

Hostitel zařízení

CloudSite Hobby
$5 /Měsíční


Umístění serveru


Gear Host Servers in DenverSpojené státy
Porovnat
Skóre - 1
Mikro VPS Logo
Mikro VPS

Mikro VPS

VPS SSD 1
$4.39 /Měsíční


Umístění serveru


Mikro VPS Servers in BudapestMaďarsko
Porovnat
Skóre - 0
Simple Node Logo
Simple Node

Jednoduchý uzel

OpenVZ - 256MB
$3 /Měsíční

Porovnat

 

Node.js

 

 

Node.js je open-source, multiplatformní běhové prostředí JavaScriptu, které běží na serverech. Od svého vydání v roce 2009 se tato platforma stala nesmírně populární a dnes hraje velmi důležitou roli v oblasti webového vývoje. Pokud vezmeme v úvahu počet hvězd, které projekt shromáždil na GitHubu, jako indikátor popularity, pak je Node.js, který má více než 50 000 hvězd, velmi, velmi populární projekt.

 

Platforma Node.js je postavena na enginu JavaScript V8 společnosti Google, který se používá v prohlížeči Google Chrome. Tato platforma se používá hlavně k vytváření webových serverů, ale její rozsah není omezen na toto.

 

Podívejme se na hlavní rysy Node.js.

 

Rychlost

 

Jednou z hlavních atrakcí Node.js je rychlost. Kód JavaScriptu spuštěný v Node.js může být dvakrát rychlejší než kód napsaný v kompilovaných jazycích, jako je C nebo Java, a řádově rychlejší než interpretované jazyky jako Python nebo Ruby. Důvodem je neblokující architektura platformy a konkrétní výsledky závisí na použitých měřítcích, ale celkově je Node.js velmi rychlá platforma.

 

Jednoduchost

 

Platforma Node.js se snadno učí a používá. Ve skutečnosti je to naprosto velmi jednoduché, zvláště ve srovnání s některými jinými serverovými platformami.

 

JavaScript

 

JavaScript se provádí v prostředí Node.js. To znamená, že miliony front-endových vývojářů, kteří již používají JavaScript v prohlížeči, mohou psát kód na straně serveru i na straně klienta ve stejném programovacím jazyce, aniž by se museli učit úplně nový nástroj pro přechod k vývoji na straně serveru.

 

Prohlížeč a server používají stejné jazykové koncepty. Kromě toho může Node.js rychle přejít na nové standardy ECMAScript, protože jsou implementovány na platformě.

 

Není třeba čekat, až si uživatelé pro to obnoví své prohlížeče, protože Node.js je prostředí na straně serveru, které má vývojář zcela pod kontrolou. Výsledkem je, že nové jazykové funkce budou k dispozici při instalaci podpůrné verze Node.js.

 

Motor V8

 

Srdcem Node.js je mimo jiné řešení Google open-source V8 JavaScript engine, který se používá v Google Chrome a dalších prohlížečích. To znamená, že Node.js využívá výhod tisíců inženýrů, kteří vytvořili runtime JavaScript Chrome neuvěřitelně rychle a pokračují v práci na zlepšování V8.

 

Asynchrony

 

V tradičních programovacích jazycích (C, Java, Python, PHP) jsou ve výchozím nastavení blokovány všechny pokyny, pokud se vývojář výslovně nestará o asynchronní provádění kódu. Výsledkem je, že pokud například v takovém prostředí vytvoříte síťový požadavek na stažení nějakého kódu JSON, provádění streamu, ze kterého je požadavek vytvořen, bude pozastaveno, dokud nebude přijata a zpracována odpověď.

 

JavaScript usnadňuje psaní asynchronního a neblokujícího kódu pomocí jediného vlákna, zpětných volání a přístupu k vývoji založeného na událostech. Pokaždé, když potřebujeme provést těžkou operaci, předáme zpětné volání příslušnému mechanismu, který bude volán ihned po dokončení této operace. V důsledku toho není nutné čekat na výsledky těchto operací, aby program mohl pokračovat v práci.

 

Podobný mechanismus vznikl v prohlížečích. Nemůžeme si dovolit čekat, řekněme, naAJAXpožadovat dokončení bez možnosti reagovat na akce uživatelů, jako jsou kliknutí na tlačítka. Aby uživatelé mohli pohodlně pracovat s webovými stránkami, musí všechno, jak stahování dat ze sítě, tak kliknutí na tlačítka zpracování, probíhat současně, v reálném čase.

 

Pokud jste někdy vytvořili obslužnou rutinu události kliknutí na tlačítko, již jste použili techniky asynchronního programování.

 

Asynchronní mechanismy umožňují jednomu serveru Node.js současně zpracovávat tisíce připojení, aniž by programátora zatěžovaly úkoly správy vláken a paralelního provádění kódu. Takové věci jsou často zdrojem chyb.

 

Node.js poskytuje vývojáři neblokující základní I / O mechanismy a obecně jsou knihovny používané v rámci Node.js psány pomocí neblokujících paradigmat.Díky tomu je chování blokování spíše výjimkou než normou.

 

Když Node.js potřebuje provést I / O operaci, jako je načítání dat ze sítě, přístup k databázi nebo systému souborů, místo blokování hlavního vlákna čekajícího na výsledky takové operace, Node.js zahájí jeho provádění a pokračujte v dalších věcech, dokud neobdržíte výsledky této operace.

 

Knihovny

 

Díky snadné a pohodlné práci se správcem balíků pro Node.js zvanou npm se ekosystém Node.js daří. V registru npm je nyní více než půl milionu balíčků open source, které může libovolný vývojář Node.js volně používat.

 

Po přezkoumání některých hlavních funkcí platformy Node.js to zkusme vyzkoušet v akci. Začněme s instalací.

 

 

Node.js

 

 

Instalace Node.js

 

Node.js lze nainstalovat různými způsoby, kterým se za chvíli věnujeme. Lze tedy najít oficiální instalační balíčky pro všechny hlavní platformy.

 

Existuje další velmi pohodlný způsob instalace Node.js, což je použití správce balíčků poskytovaného v operačním systému. Například správce balíčků macOS, který je de facto standardem v této oblasti, se nazývá Homebrew.

 

Pokud máte jeden ve svém systému, můžete nainstalovat Node.js spuštěním tohoto příkazu na příkazovém řádku:

 

brew install node

 

Seznam správců balíčků pro ostatní operační systémy, včetně Linux a Windows, naleznete zde.

 

Populární správce verzí Node.js je nvm. Tento nástroj umožňuje pohodlně přepínat mezi různými verzemi Node.js, s jeho pomocí můžete například nainstalovat a vyzkoušet novou verzi Node.js a poté se v případě potřeby vrátit ke staré verzi. Nvm je také užitečné v situaci, kdy potřebujete otestovat nějaký kód na staré verzi Node.js.

 

Pro začátečníky používat oficiální instalační programy Node.js. Pro uživatele systému macOS by se dalo doporučit nainstalovat Node.js pomocí Homebrew. Nyní, když jste nainstalovali Node.js, je čas napsat „Hello World“.

 

První aplikace Node.js

 

Nejběžnějším příkladem první aplikace Node.js je jednoduchý webový server. Zde je jeho kód:

const http = require ('http')

const název_hostitele = '127.0.0.1'

const port = 3000

const server = http.createServer ((požadavek, res) = & gt; {

res.statusCode = 200

res.setHeader ('Content-Type', 'text / plain')

res.end ('Hello World \ n')

})

server.listen (port, hostname, () = & gt; {

console.log (`Server běží na http: // $ {název_hostitele}: $ {port} /`)

})

 

Chcete-li spustit tento kód, uložte jej do souboru server.js a v terminálu spusťte následující příkaz:

 

uzel server.js

 

Chcete-li zkontrolovat server, otevřete prohlížeč a zadejte do adresního řádku http://127.0.0.1:3000, tj. Adresu serveru, která se po úspěšném spuštění zobrazí v konzole. Pokud vše funguje tak, jak má, na stránce se zobrazí „Hello World“.

 

Podívejme se na tento příklad.

 

Nejprve si všimněte, že kód obsahuje příkaz pro připojení modulu HTTP.

 

Platforma Node.js má vynikající standardní sadu modulů, která zahrnuje dobře vyvinuté mechanismy pro práci se sítí.

Metoda createServer () objektu http vytvoří nový server HTTP a vrátí jej.

 

Server je nakonfigurován tak, aby naslouchal na konkrétním portu na konkrétním hostiteli. Když je server připraven, je voláno odpovídající zpětné volání, které nás informuje, že je server spuštěný.

Když server obdrží požadavek, je aktivována událost, která poskytuje dva objekty. První je požadavek (req, objekt http.IncomingMessage), druhý je odpověď (res, objekt http.ServerResponse). Jsou to nejdůležitější mechanismy pro zpracování požadavků HTTP.

 

První nám poskytuje informace o požadavku. V našem jednoduchém příkladu tato data nepoužíváme, ale v případě potřeby můžete pomocí objektu získat přístup k záhlaví požadavků a datům předaným v něm.

 

Druhý je nutný k vytvoření a odeslání odpovědi na požadavek.

 

V takovém případě vytvoříme odpověď na požadavek následujícím způsobem. Nejprve nastavíme stavový kód vlastnosti na hodnotu 200, což označuje úspěšnou operaci:

 

res.statusCode = 200

Dále nastavíme název Content-Type:

res.setHeader ('Content-Type', 'text / plain')

Poté dokončíme přípravu odpovědi přidáním jejího obsahu jako argumentu do metody end ():

res.end ('Hello World \ n')

 

Již jsme zmínili, že kolem platformy Node.js se vytvořil silný ekosystém. Pojďme nyní probrat několik populárních frameworků a pomocných nástrojů pro Node.js.

 

Frameworks and Helper Tools for Node.js

 

Node.js je platforma nízké úrovně. Abychom zjednodušili vývoj a usnadnili programátorům život, bylo vytvořeno obrovské množství knihoven. Některé z nich se postupem času staly velmi populární. Zde je malý seznam knihoven, které jsou podle mě dobře provedené a stojí za prozkoumání:

 

Vyjádřit: Tato knihovna poskytuje vývojáři extrémně jednoduchý, ale výkonný nástroj pro vytváření webových serverů. Klíčem k úspěchu Expressu byl minimalistický přístup a zaměření na základní mechanismy na straně serveru, aniž by se snažil prosadit vizi architektury serveru „na jednom místě“.

 

Meteor: Jedná se o výkonný full-stack framework, který využívá izomorfní přístup k vývoji aplikací JavaScriptu a používání kódu na klientovi i serveru. Kdysi byl Meteor samostatným nástrojem, který obsahuje vše, co vývojář mohl potřebovat. Nyní se také integruje s frontendovými knihovnami, jako jsou React, Vue a Angular. Meteor lze kromě vývoje běžných webových aplikací použít také při vývoji mobilních zařízení.

 

Koa: Tento webový rámec je postaven stejným týmem, který stojí za Expressem. Na základě dlouholetých zkušeností s Expressem byl vyvinut s důrazem na jednoduchost a kompaktnost. Tento projekt vznikl jako řešení problému zásadních změn Express, které jsou nekompatibilní s jinými rámcovými mechanismy, které by mohly komunitu rozdělit.

 

Další.js: Tento rámec je navržen tak, aby organizoval vykreslování aplikací React na straně serveru.

 

Micro: Jedná se o velmi lehkou knihovnu pro vytváření asynchronních mikroslužeb HTTP.

Socket.io. Je to knihovna pro vývoj síťových aplikací v reálném čase.

 

Ve skutečnosti v ekosystému Node.js najdete pomocnou knihovnu pro téměř jakýkoli úkol. Jak si dokážete představit, vybudování takového ekosystému trvá hodně času. Platforma Node.js se objevila v roce 2009. Během své existence se stalo mnoho věcí, které by měl znát programátor, který se chce tuto platformu naučit.

 

Stručná historie Node.js

 

Node.js je letos 9 let. To samozřejmě není tolik, když porovnáte tento věk s věkem JavaScriptu, který je již 23 let starý, nebo s 25letým věkem webu, jak ho známe, pokud počítáte od příchodu mozaiky prohlížeč.

 

9 let je pro technologii krátká doba, ale nyní se zdá, že platforma Node.js vždy existovala.

 

S Node.js ze starších verzí platformy, když jí byly jen 2 roky. I tehdy, navzdory skutečnosti, že o Node.js nebylo tolik informací, už bylo možné cítit, že Node.js je velmi vážný.

 

Pojďme si nyní promluvit o technologiích, které stojí za Node.js, a pojďme se rychle podívat nahlavní vývoj týkající se této platformy.

 

JavaScript je tedy programovací jazyk, který byl vytvořen v Netscape jako skriptovací jazyk pro manipulaci s webovými stránkami v prohlížeči Netscape Navigator.

Součástí podnikání Netscape byl prodej webových serverů, které zahrnovaly prostředí zvané Netscape LiveWire. Umožnilo vám to vytvářet dynamické webové stránky pomocí JavaScriptu na straně serveru.

 

myšlenka použití JS pro vývoj na straně serveru je mnohem starší než Node.js. Tato myšlenka je téměř stejně stará jako samotný JavaScript, ale v té době nebyl JS na straně serveru populární.

 

Jedním z klíčových faktorů, díky nimž byla platforma Node.js tak rozšířená a populární, je, když se poprvé objevila. O několik let dříve se tedy JavaScript začal považovat za seriózní jazyk. Stalo se tak díky aplikacím Web 2.0, jako jsou Mapy Google nebo Gmail, které světu ukázaly sílu moderních webových technologií.

 

Díky konkurenční válce prohlížečů, která trvá dodnes, se výkon motorů JavaScriptu výrazně zvýšil. Vývojové týmy za hlavními prohlížeči každý den pracují na zlepšení výkonu svých řešení, což má obecně příznivý účinek na JavaScript.

 

Jedním z takových motorů je již zmíněná V8, používaná v prohlížeči Chrome a používaná v Node.js. Je to jeden z výsledků vývojářů prohlížečů usilujících o vysoce výkonný kód JavaScript.

 

Popularita Node.js samozřejmě není založena pouze na šťastné shodě okolností a na skutečnosti, že se platforma zrodila ve správný čas. Představila světu inovativní přístup k vývoji JavaScriptu na straně serveru. Pojďme se podívat na hlavní milníky v historii Node.js.

 

2009


  • Vznik Node.js

  • Vytváření první varianty npm.

 

2010

  • Vzhled Expressu.

  • Vznik Socket.io.

 

2011


  • Vydání NPM 1.0.

  • Velké společnosti jako LinkedIn a Uber začaly používat Node.js.

 

2012


  • Rychlý nárůst popularity Node.js.

 

2013


  • Vznik Ghost, první hlavní platformy pro publikace používající Node.js.

  • Uvolnění Koa.

 

2014


  • Letos se odehrály dramatické události. Objevil se projekt IO.js, který je vidličkou Node.js, jehož účelem bylo mimo jiné představit podporu ES6 a urychlit vývoj platformy.

 

2015


  • Založena nadace Node.js.

  • Sloučení IO.js a Node.js.

  • V npm je možné pracovat se soukromými moduly.

  • Výnos Node.js 4 (je třeba poznamenat, že verze 1, 2 a 3 z platformy nebyly).

 

2016


  • Nehoda balíčku s levým blokem.

  • Vznik příze.

  • Vydání Node.js 6.

 

2017


  • NPM začíná věnovat větší pozornost bezpečnosti.

  • Vydání Node.js 8

  • Vznik podpory pro HTTP / 2.

  • V8 je oficiálně uznán jako JS engine navržený nejen pro Chrome, ale také pro Node.

  • Každý týden se stahují 3 miliardy npm.

 

2018


  • Vydání Node.js 10.

  • Podpora modulů ES.

  • Experimentální podpora mjs.