Node.JS

Node.js je open-source medziplatformový runtime JavaScript, ktorý beží na serveroch. Od svojho vydania v roku 2009 sa táto platforma stala mimoriadne populárnou a v súčasnosti hrá veľmi dôležitú úlohu v oblasti vývoja webových aplikácií.
Celý článok nájdete na Node.JS ...

Zobraziť filter
Hostiteľské filtre
A2 Themes & Host Me Filter

Operačný systém

Miesto na disku

Pamäť RAM

Typ disku

Jadrá CPU

Triediť

Skóre - 0
RedSwitches Logo
RedSwitches

RedSwitches

Pearl
$6.94 /Mesačne


Umiestnenia servera


RedSwitches Servers in NetherlandsHolandsko RedSwitches Servers in UnionSpojené štáty RedSwitches Servers in MelbourneAustrália RedSwitches Servers in MumbaiIndia RedSwitches Servers in GermanyNemecko
Porovnaj
Skóre - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Mesačne


Umiestnenia servera


Hostarina Servers in UnionSpojené štáty Hostarina Servers in RawalpindiPakistan Hostarina Servers in MunichNemecko
Porovnaj
Skóre - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Mesačne


Umiestnenia servera


Net9 Oy Servers in StockholmŠvédsko Net9 Oy Servers in HelsinkiFínsko Net9 Oy Servers in ParisFrancúzsko
Porovnaj
Skóre - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Mesačne


Umiestnenia servera


Heroku Servers in United StatesSpojené štáty
Porovnaj
Skóre - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Mesačne

Porovnaj
Skóre - 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /Mesačne


Umiestnenia servera


Chemi Cloud Servers in BangaloreIndia Chemi Cloud Servers in New YorkSpojené štáty Chemi Cloud Servers in BucharestRumunsko Chemi Cloud Servers in LondonSpojene kralovstvo Chemi Cloud Servers in AmsterdamHolandsko Chemi Cloud Servers in TorontoKanada Chemi Cloud Servers in SydneyAustrália
Porovnaj
Skóre - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Mesačne


Umiestnenia servera


Oudel Servers in UnionSpojené štáty
Porovnaj

 

Node.js

 

 

Node.js je open-source medziplatformový runtime JavaScript, ktorý beží na serveroch. Od svojho vydania v roku 2009 sa táto platforma stala mimoriadne populárnou a v súčasnosti hrá veľmi dôležitú úlohu v oblasti vývoja webových aplikácií. Ak vezmeme do úvahy počet hviezdičiek, ktoré projekt zhromaždil na GitHube, ako indikátor popularity, potom je Node.js, ktorý má viac ako 50 000 hviezd, veľmi, veľmi populárny projekt.

 

Platforma Node.js je postavená na stroji JavaScript V8 spoločnosti Google, ktorý sa používa v prehliadači Google Chrome. Táto platforma sa používa hlavne na vytváranie webových serverov, ale jej rozsah sa na to neobmedzuje.

 

Pozrime sa na hlavné funkcie Node.js.

 

Rýchlosť

 

Jednou z hlavných atrakcií Node.js je rýchlosť. JavaScriptový kód spustený v Node.js môže byť dvakrát rýchlejší ako kód napísaný v kompilovaných jazykoch ako C alebo Java a rádovo rýchlejší ako interpretované jazyky ako Python alebo Ruby. Dôvodom je neblokujúca architektúra platformy a konkrétne výsledky závisia od použitých referenčných hodnôt, celkovo je však Node.js veľmi rýchla platforma.

 

Jednoduchosť

 

Platforma Node.js sa ľahko učí a používa. Je to v skutočnosti úplne jednoduché, najmä v porovnaní s inými serverovými platformami.

 

JavaScript

 

JavaScript sa vykonáva v prostredí Node.js. To znamená, že milióny front-end vývojárov, ktorí už používajú JavaScript v prehliadači, môžu písať kód na strane servera aj na strane klienta v rovnakom programovacom jazyku bez toho, aby sa museli učiť úplne nový nástroj na prechod k vývoju na strane servera.

 

Prehliadač a server používajú rovnaké jazykové koncepcie. Node.js navyše môže rýchlo prechádzať na nové štandardy ECMAScript, ktoré sú implementované na platforme.

 

Nie je potrebné čakať, kým používatelia obnovia svoje prehliadače, pretože Node.js je prostredie na strane servera, ktoré má vývojár úplne pod kontrolou. Výsledkom je, že po nainštalovaní podpornej verzie súboru Node.js. budú k dispozícii nové jazykové funkcie.

 

Motor V8

 

Srdcom Node.js je okrem iných riešení otvorený JavaScriptový engine V8 od Googlu, ktorý sa používa v Google Chrome a iných prehliadačoch. To znamená, že Node.js využíva výhody tisícov inžinierov, ktorí neskutočne rýchlo vytvorili runtime JavaScriptu Chrome a naďalej pracujú na vylepšovaní verzie V8.

 

Asynchrónia

 

V tradičných programovacích jazykoch (C, Java, Python, PHP) sú predvolene blokované všetky pokyny, pokiaľ sa vývojár výslovne nestará o asynchrónne vykonávanie kódu. Výsledkom je, že ak napríklad v takom prostredí zadáte požiadavku na sieť na stiahnutie nejakého kódu JSON, vykonávanie streamu, z ktorého sa požiadavka robí, bude pozastavené, kým nebude odpoveď prijatá a spracovaná.

 

JavaScript výrazne uľahčuje písanie asynchrónneho a neblokujúceho kódu pomocou jediného vlákna, spätných volaní a prístupu k vývoju založeného na udalostiach. Zakaždým, keď potrebujeme vykonať náročnú operáciu, odovzdáme spätné volanie príslušnému mechanizmu, ktorý sa zavolá ihneď po dokončení tejto operácie. Z tohto dôvodu nie je potrebné čakať na výsledky takýchto operácií, aby program mohol pokračovať v činnosti.

 

Podobný mechanizmus vznikol aj v prehliadačoch. Nemôžeme si dovoliť čakať povedzme naAJAXpožadovať dokončenie bez možnosti reagovať na akcie používateľov, napríklad na kliknutia na tlačidlá. Aby používatelia mohli pohodlne pracovať s webovými stránkami, všetko, tak sťahovanie dát zo siete, ako aj spracovanie kliknutí na tlačidlá, sa musia odohrávať súčasne, v reálnom čase.

 

Ak ste niekedy vytvorili obslužnú rutinu udalosti kliknutia na tlačidlo, už ste použili techniky asynchrónneho programovania.

 

Asynchrónne mechanizmy umožňujú jednému serveru Node.js súčasne spracovávať tisíce pripojení bez toho, aby programátora zaťažovali úlohami správy vlákien a paralelného vykonávania kódu. Takéto veci sú často zdrojom chýb.

 

Node.js poskytuje vývojárovi neblokujúce základné I / O mechanizmy a knižnice používané v rámci Node.js sú všeobecne písané pomocou neblokujúcich paradigiem.Vďaka tomu je blokujúce správanie skôr výnimkou ako normou.

 

Keď Node.js potrebuje vykonať vstupno-výstupnú operáciu, napríklad načítanie údajov zo siete, prístup k databáze alebo súborovému systému, namiesto blokovania hlavného vlákna čakajúceho na výsledky takejto operácie začne Node.js svoju vykonanie a pokračujte v ďalších veciach až do prijatia výsledkov tejto operácie.

 

Knižnice

 

S ľahkosťou a pohodlnosťou práce so správcom balíkov pre Node.js zvaným npm sa ekosystému Node.js darí. V registri npm je teraz viac ako pol milióna balíkov otvorených zdrojov, ktoré môže ľubovoľný vývojár Node.js voľne používať.

 

Po preskúmaní niektorých hlavných funkcií platformy Node.js si to vyskúšame v praxi. Začnime s inštaláciou.

 

 

Node.js

 

 

Inštaluje sa Node.js

 

Node.js je možné nainštalovať rôznymi spôsobmi, ktorým sa za chvíľu venujeme. Oficiálne inštalačné balíčky pre všetky hlavné platformy teda možno nájsť.

 

Existuje ďalší veľmi pohodlný spôsob inštalácie Node.js, čo je použitie správcu balíkov poskytovaného v operačnom systéme. Napríklad správca balíkov macOS, ktorý je v tejto oblasti de facto štandardom, sa volá Homebrew.

 

Ak máte nejaký vo svojom systéme, môžete nainštalovať Node.js spustením tohto príkazu na príkazovom riadku:

 

brew install uzol

 

Zoznam správcov balíkov pre ďalšie operačné systémy vrátane Linux a Windows nájdete tu.

 

Populárnym správcom verzií Node.js je nvm. Tento nástroj umožňuje pohodlné prepínanie medzi rôznymi verziami Node.js. S jeho pomocou môžete napríklad nainštalovať a vyskúšať novú verziu Node.js a potom sa v prípade potreby vrátiť k starej verzii. Nvm je tiež užitočný v situácii, keď potrebujete otestovať nejaký kód na starej verzii Node.js.

 

Pre začiatočníkov používať oficiálne inštalačné programy Node.js. Pre používateľov macOS by sa dalo odporučiť inštaláciu Node.js pomocou Homebrew. Teraz, keď máte nainštalovaný Node.js, je čas napísať „Hello World“.

 

Prvá aplikácia Node.js

 

Najbežnejším príkladom prvej aplikácie Node.js je jednoduchý webový server. Tu je jeho kód:

const http = require ('http')

const hostname = '127.0.0.1'

konštantný port = 3000

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

res.statusCode = 200

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

res.end ('Hello World \ n')

})

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

console.log (`Server bežiaci na http: // $ {hostname}: $ {port} /`)

})

 

Tento kód spustíte uložením do súboru server.js a spustením nasledujúceho príkazu v termináli:

 

uzol server.js

 

Ak chcete skontrolovať server, otvorte prehliadač a do panela s adresou zadajte http://127.0.0.1:3000, to znamená adresu servera, ktorá sa po úspešnom spustení zobrazí v konzole. Ak všetko funguje tak, ako má, na stránke sa zobrazí „Hello World“.

 

Pozrime sa na tento príklad.

 

Najskôr si všimnite, že kód obsahuje príkaz na pripojenie modulu HTTP.

 

Platforma Node.js má vynikajúcu štandardnú sadu modulov, ktorá obsahuje dobre vyvinuté mechanizmy pre prácu so sieťou.

Objektová metóda createServer () http vytvorí nový server HTTP a vráti ho.

 

Server je nakonfigurovaný na počúvanie na konkrétnom porte na konkrétnom hostiteľovi. Keď je server pripravený, zavolá sa príslušné spätné volanie, ktoré nás informuje o tom, že server je spustený.

Keď server prijme požiadavku, spustí sa požiadavka na udalosť, ktorá poskytne dva objekty. Prvým je požiadavka (req, objekt http.IncomingMessage), druhým je odpoveď (res, objekt http.ServerResponse). Sú to najdôležitejšie mechanizmy na spracovanie požiadaviek HTTP.

 

Prvý nám poskytuje informácie o žiadosti. V našom jednoduchom príklade tieto údaje nepoužívame, ale ak je to potrebné, pomocou objektu môžete získať prístup k hlavičkám požiadaviek a k údajom v nich odovzdaným.

 

Druhý je potrebný na vytvorenie a odoslanie odpovede na žiadosť.

 

V takom prípade formujeme odpoveď na požiadavku nasledovne. Najskôr sme nastavili kód stavu nehnuteľnosti na hodnotu 200, čo naznačuje úspešnú operáciu:

 

res.statusCode = 200

Ďalej nastavíme nadpis Content-Type:

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

Prípravu odpovede potom dokončíme pridaním jej obsahu ako argumentu do metódy end ():

res.end ('Hello World \ n')

 

Už sme spomenuli, že okolo platformy Node.js sa vytvoril silný ekosystém. Poďme teraz diskutovať o niektorých populárnych rámcoch a pomocných nástrojoch pre Node.js.

 

Rámec a pomocné nástroje pre Node.js

 

Node.js je platforma nízkej úrovne. Za účelom zjednodušenia vývoja a uľahčenia života programátorom bolo vytvorených veľké množstvo knižníc. Niektoré z nich sa časom stali veľmi populárnymi. Tu je malý zoznam knižníc, ktoré sú podľa mňa dobre urobené a stoja za preskúmanie:

 

expresné: Táto knižnica poskytuje vývojárovi mimoriadne jednoduchý, ale výkonný nástroj na vytváranie webových serverov. Kľúčom k úspechu Expressu bol minimalistický prístup a zameranie na základné mechanizmy na strane servera bez toho, aby sme sa snažili presadiť víziu architektúry servera „na jednom mieste“.

 

Meteor: Jedná sa o výkonný full-stack framework, ktorý využíva izomorfný prístup k vývoju aplikácií JavaScript a pomocou kódu na klientovi aj serveri. Kedysi bol Meteor samostatným nástrojom, ktorý obsahoval všetko, čo vývojár mohol potrebovať. Teraz sa tiež integruje do frontendových knižníc ako React, Vue a Angular. Meteor je možné okrem vývoja bežných webových aplikácií využiť aj pri vývoji mobilných zariadení.

 

Koa: Tento webový rámec je zostavený rovnakým tímom, ktorý stojí za serverom Express. Na základe dlhoročných skúseností s Expressom bol vyvinutý so zameraním na jednoduchosť a kompaktnosť. Tento projekt vznikol ako riešenie problému zásadných zmien v Expresse, ktoré sú nekompatibilné s inými rámcovými mechanizmami, ktoré by mohli rozdeliť komunitu.

 

Next.js: Tento rámec je navrhnutý tak, aby organizoval vykresľovanie aplikácií React na strane servera.

 

Micro: Je to veľmi ľahká knižnica na vytváranie asynchrónnych mikroslužieb HTTP.

Socket.io. Je to knižnica pre vývoj sieťových aplikácií v reálnom čase.

 

V skutočnosti v ekosystéme Node.js nájdete pomocnú knižnicu pre takmer každú úlohu. Ako si dokážete predstaviť, vybudovanie takéhoto ekosystému trvá veľa času. Platforma Node.js sa objavila v roku 2009. Počas svojej existencie sa stalo veľa vecí, ktoré by mal vedieť programátor, ktorý sa chce túto platformu naučiť.

 

Stručná história Node.js

 

Node.js má tento rok 9 rokov. To samozrejme nie je až tak veľa, keď porovnáte tento vek s vekom JavaScriptu, ktorý má už 23 rokov, alebo s 25-ročným vekom webu, ako ho poznáme, ak počítate od príchodu mozaiky prehliadač.

 

9 rokov je pre technológiu krátka doba, ale teraz sa zdá, že platforma Node.js vždy existovala.

 

S Node.js zo skorých verzií platformy, keď mala iba 2 roky. Už vtedy bolo možné cítiť, že Node.js je veľmi vážny, a to aj napriek tomu, že o Node.js nebolo toľko informácií.

 

Teraz si povieme niečo o technológiách, ktoré stoja za Node.js, a poďme sa rýchlo pozrieť nahlavný vývoj súvisiaci s touto platformou.

 

JavaScript je teda programovací jazyk, ktorý bol vytvorený v Netscape ako skriptovací jazyk na manipuláciu s webovými stránkami v prehliadači Netscape Navigator.

Súčasťou podnikania spoločnosti Netscape bol predaj webových serverov, ktoré obsahovali prostredie s názvom Netscape LiveWire. Umožnilo vám to vytvárať dynamické webové stránky pomocou JavaScriptu na strane servera.

 

myšlienka použitia JS na vývoj na strane servera je oveľa staršia ako Node.js. Táto myšlienka je takmer taká stará ako samotný JavaScript, ale v danom čase nebol JS na strane servera populárny.

 

Jedným z kľúčových faktorov, vďaka ktorým bola platforma Node.js taká rozšírená a populárna, je skutočnosť, kedy sa objavila prvýkrát. O pár rokov skôr sa teda JavaScript začal považovať za vážny jazyk. Stalo sa tak vďaka aplikáciám Web 2.0, ako sú Mapy Google alebo Gmail, ktoré svetu ukázali silu moderných webových technológií.

 

Vďaka konkurenčnej vojne prehliadačov, ktorá trvá dodnes, sa výkon motorov JavaScriptu výrazne zvýšil. Vývojové tímy stojace za hlavnými prehľadávačmi každý deň pracujú na zlepšovaní výkonu svojich riešení, čo má všeobecne priaznivý vplyv na JavaScript.

 

Jedným z takýchto motorov je už spomínaná V8, ktorá sa používa v prehliadači Chrome a používa sa v prehliadači Node.js. Je to jeden z výsledkov vývojárov prehľadávačov, ktorí sa snažia o vysoko výkonný kód JavaScript.

 

Popularita Node.js samozrejme nie je založená iba na šťastnej náhode a na tom, že sa platforma zrodila v pravý čas. Predstavila svetu inovatívny prístup k vývoju JavaScriptu na strane servera. Pozrime sa na hlavné míľniky v histórii Node.js.

 

2009


  • Vznik Node.js

  • Výroba prvého variantu NPM.

 

2010

  • Vzhľad Express.

  • Vznik Socket.io.

 

2011


  • Vydanie NPM 1.0.

  • Veľké spoločnosti ako LinkedIn a Uber začali používať Node.js.

 

2012


  • Prudký nárast popularity Node.js.

 

2013


  • Vznik Ghost, prvej hlavnej platformy pre publikácie používajúce Node.js.

  • Uvoľnenie Koa.

 

2014


  • Tento rok sa udiali dramatické udalosti. Objavil sa projekt IO.js, ktorý je vidlicou Node.js, ktorého účelom bolo okrem iného predstaviť podporu ES6 a urýchliť vývoj platformy.

 

2015


  • Je založená Nadácia Node.js.

  • Zlúčenie súborov IO.js a Node.js.

  • V npm je možné pracovať so súkromnými modulmi.

  • Výnos Node.js 4 (je potrebné poznamenať, že verzie 1, 2 a 3 z platformy neboli).

 

2016


  • Prípad balenia ľavého bloku.

  • Vznik priadze.

  • Vydanie Node.js 6.

 

2017


  • NPM začína venovať väčšiu pozornosť bezpečnosti.

  • Vydanie Node.js 8

  • Vznik podpory protokolu HTTP / 2.

  • V8 je oficiálne uznávaný ako motor JS navrhnutý nielen pre Chrome, ale aj pre Node.

  • Každý týždeň sa sťahujú 3 miliardy npm.

 

2018


  • Vydanie Node.js 10.

  • Podpora modulov ES.

  • Experimentálna podpora mjs.