Recenze 3778
29 kuponyUmístění serveru
Recenze 233
Umístění serveru
Recenze 233
Umístění serveru
Umístění serveru
Recenze 453
Umístění serveru
Recenze 72
Umístění serveru
Recenze 7
Umístění serveru
Recenze 4
Umístění serveru
Recenze 3
Umístění serveru
Recenze 3
Umístění serveru
Recenze 2
Umístění serveru
Recenze 2
Umístění serveru
Recenze 1
Umístění serveru
Recenze 2
Recenze 214
38 kuponyUmístění serveru
Umístění serveru
Umístění serveru
Umístění serveru
Umístění serveru
Umístění serveru
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í.
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.