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 stránke 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 - 5.2
Dream Host Logo
Dream Host

Vysnívaný hostiteľ

DreamObjects 40 GB
$0.95 /Mesačne

29 kupóny

Umiestnenia servera


Dream Host Servers in AshburnSpojené štáty
Porovnaj
Trust Pilot ICDSoft
Skóre - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - Europe
$8 /Mesačne

Recenzie 233


Umiestnenia servera


ICDSoft Servers in SofiaBulharsko ICDSoft Servers in BostonSpojené štáty ICDSoft Servers in Hong KongHongkong
Porovnaj
Trust Pilot ICDSoft
Skóre - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - USA
$8 /Mesačne

Recenzie 233


Umiestnenia servera


ICDSoft Servers in SofiaBulharsko ICDSoft Servers in BostonSpojené štáty ICDSoft Servers in Hong KongHongkong
Porovnaj
Skóre - 9
A2hosting Logo
A2hosting

A2hosting

Lite
$3.92 /Mesačne

50 kupóny

Umiestnenia servera


A2hosting Servers in AmsterdamHolandsko A2hosting Servers in MichiganSpojené štáty A2hosting Servers in SingaporeSingapur
Porovnaj
Trust Pilot Keliweb
Skóre - 9.8
Keliweb Logo
Keliweb

Keliweb

Prime
$5.51 /Mesačne

Recenzie 453


Umiestnenia servera


Keliweb Servers in MilanoTaliansko
Porovnaj
Trust Pilot JustHostMe
Skóre - 9.4
JustHostMe Logo
JustHostMe

JustHostMe

Starter
$3.11 /Mesačne

Recenzie 72


Umiestnenia servera


JustHostMe Servers in United KingdomSpojene kralovstvo
Porovnaj
Trust Pilot Dream VPS
Skóre - 8.6
Dream VPS Logo
Dream VPS

Vysnívané VPS

STARTER
$3.75 /Mesačne

Recenzie 7


Umiestnenia servera


Dream VPS Servers in Hong KongHongkong Dream VPS Servers in Santa Clara Dream VPS Servers in New YorkSpojené štáty Dream VPS Servers in LondonSpojene kralovstvo Dream VPS Servers in AmsterdamHolandsko Dream VPS Servers in FrankfurtNemecko Dream VPS Servers in IsraelIzrael
Porovnaj
Trust Pilot Reseller Cube
Skóre - 8
Reseller Cube Logo
Reseller Cube

Kocka predajcu

Basic USA
$5 /Mesačne

Recenzie 4


Umiestnenia servera


Reseller Cube Servers in RaleighSpojené štáty
Porovnaj
Trust Pilot Univa Host
Skóre - 8
Univa Host Logo
Univa Host

Hostiteľ Univa

E-ECONOMY
$2.99 /Mesačne

Recenzie 3


Umiestnenia servera


Univa Host Servers in GermanyNemecko Univa Host Servers in United StatesSpojené štáty
Porovnaj
Trust Pilot OperaVPS
Skóre - 7.8
OperaVPS Logo
OperaVPS

OperaVPS

Linux 512MB
$7.99 /Mesačne

Recenzie 3


Umiestnenia servera


OperaVPS Servers in United KingdomSpojene kralovstvo OperaVPS Servers in AustriaRakúsko OperaVPS Servers in CanadaKanada OperaVPS Servers in DenmarkDánsko OperaVPS Servers in FranceFrancúzsko OperaVPS Servers in GermanyNemecko OperaVPS Servers in ItalyTaliansko OperaVPS Servers in NetherlandsHolandsko OperaVPS Servers in RomaniaRumunsko OperaVPS Servers in United StatesSpojené štáty
Porovnaj
Trust Pilot L3Web Hosting
Skóre - 7.6
L3Web Hosting Logo
L3Web Hosting

L3Web Hosting

START UP
$1.99 /Mesačne

Recenzie 2


Umiestnenia servera


L3Web Hosting Servers in IndiaIndia L3Web Hosting Servers in MunichNemecko L3Web Hosting Servers in MiamiSpojené štáty L3Web Hosting Servers in SingaporeSingapur L3Web Hosting Servers in United KingdomSpojene kralovstvo
Porovnaj
Trust Pilot Idea Stack
Skóre - 7.4
Idea Stack Logo
Idea Stack

Idea Stack

LEVEL 1
$2 /Mesačne

Recenzie 2


Umiestnenia servera


Idea Stack Servers in SeattleSpojené štáty
Porovnaj
Trust Pilot Epic Host
Skóre - 7.4
Epic Host Logo
Epic Host

Epický hostiteľ

Cloud hosting
$2.37 /Mesačne

Recenzie 1


Umiestnenia servera


Epic Host Servers in New DelhiIndia Epic Host Servers in UnionSpojené štáty
Porovnaj
Trust Pilot itanets.co.uk
Skóre - 7
itanets.co.uk Logo
itanets.co.uk

itanets.co.uk

JSP HOSTING 1
$5.19 /Mesačne

Recenzie 2

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

Digitálny oceán

$5 /mo
$5 /Mesačne

Recenzie 214

38 kupóny

Umiestnenia servera


Digital Ocean Servers in IndiaIndia Digital Ocean Servers in New YorkSpojené štáty Digital Ocean Servers in AmsterdamHolandsko Digital Ocean Servers in LondonSpojene kralovstvo Digital Ocean Servers in TorontoKanada Digital Ocean Servers in Frankfurt am MainNemecko Digital Ocean Servers in SingaporeSingapur
Porovnaj
Skóre - 10
HOST PRO KE Logo
HOST PRO KE

HOST PRO KE

Host Pro Starter
$9.38 /Ročne


Umiestnenia servera


HOST PRO KE Servers in GermanyNemecko
Porovnaj
Skóre - 9.4
Accu WebHosting Logo
Accu WebHosting

Accu WebHosting

Windows Personal Web Hosting
$2.99 /Mesačne

19 kupóny

Umiestnenia servera


Accu WebHosting Servers in FranceFrancúzsko Accu WebHosting Servers in DenverSpojené štáty Accu WebHosting Servers in MumbaiIndia Accu WebHosting Servers in AmsterdamHolandsko Accu WebHosting Servers in Frankfurt am MainNemecko Accu WebHosting Servers in SydneyAustrália Accu WebHosting Servers in LondonSpojene kralovstvo Accu WebHosting Servers in PolandPoľsko Accu WebHosting Servers in CanadaKanada Accu WebHosting Servers in SingaporeSingapur
Porovnaj
Skóre - 9
Be hostings Logo
Be hostings

Buďte hostiteľmi

StarterSSL
$3.36 /Mesačne


Umiestnenia servera


Be hostings Servers in BrusselsBelgicko
Porovnaj
Skóre - 4.3
Gear Host Logo
Gear Host

Gear Host

CloudSite Hobby
$5 /Mesačne


Umiestnenia servera


Gear Host Servers in DenverSpojené štáty
Porovnaj
Skóre - 1
Mikro VPS Logo
Mikro VPS

Mikro VPS

VPS SSD 1
$4.39 /Mesačne


Umiestnenia servera


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

Jednoduchý uzol

OpenVZ - 256MB
$3 /Mesačne

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.