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

Skóre - 0
RedSwitches Logo
RedSwitches

Červené přepínače

Pearl
$6.94 /Měsíční


Umístění serveru


RedSwitches Servers in NetherlandsHolandsko RedSwitches Servers in UnionSpojené státy RedSwitches Servers in MelbourneAustrálie RedSwitches Servers in MumbaiIndie RedSwitches Servers in GermanyNěmecko
Porovnat
Skóre - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Měsíční


Umístění serveru


Hostarina Servers in UnionSpojené státy Hostarina Servers in RawalpindiPákistán Hostarina Servers in MunichNěmecko
Porovnat
Skóre - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Měsíční


Umístění serveru


Net9 Oy Servers in StockholmŠvédsko Net9 Oy Servers in HelsinkiFinsko Net9 Oy Servers in ParisFrancie
Porovnat
Skóre - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Měsíční


Umístění serveru


Heroku Servers in United StatesSpojené státy
Porovnat
Skóre - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Měsíční

Porovnat
Skóre - 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /Měsíční


Umístění serveru


Chemi Cloud Servers in BangaloreIndie Chemi Cloud Servers in New YorkSpojené státy Chemi Cloud Servers in BucharestRumunsko Chemi Cloud Servers in LondonSpojené království Chemi Cloud Servers in AmsterdamHolandsko Chemi Cloud Servers in TorontoKanada Chemi Cloud Servers in SydneyAustrálie
Porovnat
Skóre - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Měsíční


Umístění serveru


Oudel Servers in UnionSpojené státy
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.