Sõlm.JS (Node.JS)

Node.js on avatud lähtekoodiga platvormidevaheline JavaScripti käitusaeg, mis töötab serverites. Alates selle väljaandmisest 2009. aastal on see platvorm muutunud ülipopulaarseks ja mängib tänapäeval veebiarenduse valdkonnas väga olulist rolli.
Täielik artikkel aadressil Node.JS ...

Kuva filter
Filtrite majutamine
A2 Themes & Host Me Filter

Operatsioonisüsteem

Kettaruum

RAM-mälu

Ketta tüüp

Protsessori südamikud

Sorteeri

Skoor - 0
RedSwitches Logo
RedSwitches

Punased lülitid

Pearl
$6.94 /Igakuine


Serveri asukohad


RedSwitches Servers in NetherlandsHolland RedSwitches Servers in UnionÜhendriigid RedSwitches Servers in MelbourneAustraalia RedSwitches Servers in MumbaiIndia RedSwitches Servers in GermanySaksamaa
Võrdlema
Skoor - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Igakuine


Serveri asukohad


Hostarina Servers in UnionÜhendriigid Hostarina Servers in RawalpindiPakistan Hostarina Servers in MunichSaksamaa
Võrdlema
Skoor - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Igakuine


Serveri asukohad


Net9 Oy Servers in StockholmRootsi Net9 Oy Servers in HelsinkiSoome Net9 Oy Servers in ParisPrantsusmaa
Võrdlema
Skoor - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Igakuine


Serveri asukohad


Heroku Servers in United StatesÜhendriigid
Võrdlema
Skoor - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Igakuine

Võrdlema
Skoor - 0
Chemi Cloud Logo
Chemi Cloud

Chemi pilv

Ionic
$2.95 /Igakuine


Serveri asukohad


Chemi Cloud Servers in BangaloreIndia Chemi Cloud Servers in New YorkÜhendriigid Chemi Cloud Servers in BucharestRumeenia Chemi Cloud Servers in LondonÜhendkuningriik Chemi Cloud Servers in AmsterdamHolland Chemi Cloud Servers in TorontoKanada Chemi Cloud Servers in SydneyAustraalia
Võrdlema
Skoor - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Igakuine


Serveri asukohad


Oudel Servers in UnionÜhendriigid
Võrdlema

 

Node.js

 

 

Node.js on avatud lähtekoodiga platvormidevaheline JavaScripti käitusaeg, mis töötab serverites. Alates selle väljaandmisest 2009. aastal on see platvorm muutunud ülipopulaarseks ja mängib tänapäeval veebiarenduse valdkonnas väga olulist rolli. Kui arvestada populaarsuse näitajaks seda, kui palju tähti on projekt GitHubis kogunud, siis üle 50 000 tähega Node.js on väga-väga populaarne projekt.

 

Node.js platvorm on üles ehitatud Google'i V8 JavaScripti mootorile, mida kasutatakse Google Chrome'i brauseris. Seda platvormi kasutatakse peamiselt veebiserverite loomiseks, kuid selle ulatus ei piirdu sellega.

 

Vaatame Node.js põhijooni.

 

Kiirus

 

Node.js üks peamisi vaatamisväärsusi on kiirus. Node.js-is käivitatav JavaScripti kood võib olla kaks korda kiirem kui kompileeritud keeltes nagu C või Java kirjutatud kood ja suurusjärkude võrra kiirem kui tõlgendatud keeled nagu Python või Ruby. Selle põhjuseks on platvormi mitteblokeeriv arhitektuur ja konkreetsed tulemused sõltuvad kasutatavatest võrdlusalustest, kuid üldiselt on Node.js väga kiire platvorm.

 

Lihtsus

 

Node.js platvormi on lihtne õppida ja kasutada. Tegelikult on see lausa väga lihtne, eriti kui võrrelda seda mõne muu serveriplatvormiga.

 

JavaScripti

 

JavaScripti käivitatakse keskkonnas Node.js. See tähendab, et miljonid esiotsa arendajad, kes juba kasutavad brauseris JavaScripti, saavad kirjutada nii serveripoolse kui ka kliendipoolse koodi samas programmeerimiskeeles, ilma et peaksid õppima täiesti uut tööriista serveripoolse arenduse juurde liikumiseks.

 

Brauser ja server kasutavad samu keelekontseptsioone. Lisaks saab Node.js kiiresti üle minna uutele ECMAScript standarditele, kuna need on platvormil rakendatud.

 

Selle jaoks pole vaja oodata, kuni kasutajad oma brausereid värskendavad, kuna Node.js on serveripoolne keskkond, mis on arendaja täielikult kontrolli all. Seetõttu muutuvad Node.js toetava versiooni installimisel kättesaadavaks uued keelefunktsioonid.

 

V8 mootor

 

Node.js keskmes on muude lahenduste hulgas ka Google'i avatud lähtekoodiga JavaScripti V8-mootor, mida kasutatakse Google Chrome'is ja muudes brauserites. See tähendab, et Node.js kasutab ära tuhandeid insenere, kes tegid JavaScripti Chrome'i tööaja uskumatult kiiresti ja jätkavad tööd V8 täiustamise nimel.

 

Asünkroonia

 

Traditsioonilistes programmeerimiskeeltes (C, Java, Python, PHP) on kõik juhised vaikimisi blokeeritud, välja arvatud juhul, kui arendaja otseselt hoolitseb koodi asünkroonse täitmise eest. Selle tulemusena, kui näiteks sellises keskkonnas esitate mõne JSON-koodi allalaadimiseks võrgutaotluse, peatatakse voo, millest päring tehakse, täitmine kuni vastuse saabumiseni ja töötlemiseni.

 

JavaScripti abil on asünkroonse ja blokeerimata koodi kirjutamine ühe lõime, tagasihelistamise ja sündmustepõhise lähenemisviisi abil palju lihtsam. Iga kord, kui peame rasket toimingut sooritama, edastame vastava mehhanismi tagasihelistamise, millele helistatakse kohe pärast selle toimingu lõpetamist. Seetõttu ei pea programmi jätkamiseks ootama selliste toimingute tulemusi.

 

Sarnane mehhanism pärineb ka brauseritest. Me ei saa endale lubada oodata näiteksAJAXtaotlus lõpetada, ilma et oleks võimalik reageerida kasutaja toimingutele, näiteks nupuvajutusele. Et kasutajatel oleks mugav veebilehtedega töötada, peab kõik, nii andmete allalaadimine võrgust kui ka nupuvajutuste töötlemine toimuma samaaegselt, reaalajas.

 

Kui olete kunagi loonud nupuvajutusega sündmuste käitleja, olete juba kasutanud asünkroonseid programmeerimistehnikaid.

 

Asünkroonsed mehhanismid võimaldavad ühel Node.js-serveril korraga käsitseda tuhandeid ühendusi, koormamata programmeerijat lõimehalduse ja paralleelsete koodi täitmise ülesannetega. Sellised asjad on sageli veaallikad.

 

Node.js pakub arendajale mitteblokeerivaid sisend- / väljundmehhanisme ja üldiselt on Node.js-i raamistikus kasutatavad teegid kirjutatud blokeerimata paradigmade abil.See muudab käitumise blokeerimise pigem erandiks kui normiks.

 

Kui Node.js peab sellise toimingu tulemusi ootava peaniidi blokeerimise asemel tegema sisend- / väljundoperatsiooni, näiteks võrgust andmete laadimise, andmebaasi või failisüsteemi juurdepääsu, algatab Node.js selle ja jätkake muude toimingute tegemist, kuni selle toimingu tulemused on kätte saadud.

 

Raamatukogud

 

Node.js paketihalduriga töötamise lihtsus ja mugavus on nimega npm, Node.js ökosüsteem õitseb. Nüüd on npm registris üle poole miljoni avatud lähtekoodiga paketi, mida iga Node.js arendaja saab vabalt kasutada.

 

Olles üle vaadanud platvormi Node.js mõned põhifunktsioonid, proovime seda toiminguna proovida. Alustame installimisega.

 

 

Node.js

 

 

Node.js installimine

 

Node.js-i saab installida mitmel viisil, mida me hetkega kajastame. Seega leiate kõigi suuremate platvormide ametlikud installipaketid.

 

Node.js installimiseks on veel üks väga mugav viis, milleks on opsüsteemis pakutavate pakettihalduri kasutamine. Näiteks nimetatakse selles piirkonnas de facto standardiks olevat macOS-i paketihaldurit Homebrew.

 

Kui teie süsteemis on selline, saate Node.js installida, käivitades selle käsu käsureal:

 

pruulimise installisõlm

 

Teiste operatsioonisüsteemide, sealhulgas Linuxi ja Windowsi pakettihaldurite loendi leiate siit.

 

Populaarne Node.js versioonihaldur on nvm. See tööriist võimaldab teil mugavalt Node.js-i erinevate versioonide vahel vahetada, selle abiga saate näiteks installida ja proovida Node.js-i uut versiooni ning seejärel vajaduse korral naasta vanale. Nvm on kasulik ka olukorras, kus peate mõnda koodi proovima Node.js vanal versioonil.

 

Algajatele kasutada ametlikke Node.js installijaid. MacOS-i kasutajate jaoks soovitaks Node.js installida Homebrew abil. Nüüd, kui olete installinud Node.js, on aeg kirjutada "Tere maailm".

 

Esimene rakendus Node.js

 

Esimese Node.js-rakenduse kõige tavalisem näide on lihtne veebiserver. Siin on selle kood:

const http = nõuda ('http')

const hostname = '127.0.0.1'

const port = 3000

const server = http.createServer ((req, res) = & gt; {

res.statusCode = 200

res.setHeader ('Sisutüüp', 'tekst / tavaline')

res.end ('Tere maailm \ n')

})

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

console.log („Server töötab aadressil http: // $ {hostname}: $ {port} /`)

})

 

Selle koodi käivitamiseks salvestage see faili server.js ja käivitage terminalis järgmine käsk:

 

sõlm server.js

 

Serveri kontrollimiseks avage brauser ja sisestage aadressiribale http://127.0.0.1:3000, see tähendab serveri aadress, mis kuvatakse konsoolis pärast selle edukat käivitamist. Kui kõik töötab nii, nagu peaks, kuvatakse lehel kiri "Tere maailm".

 

Vaatame seda näidet.

 

Kõigepealt pange tähele, et kood sisaldab käsku HTTP-mooduli ühendamiseks.

 

Node.js platvormil on suurepärane standardne moodulite komplekt, mis sisaldab hästi välja töötatud mehhanisme võrguga töötamiseks.

Objekti meetod createServer () loob uue HTTP-serveri ja tagastab selle.

 

Server on konfigureeritud kuulama kindla hosti kindlat porti. Kui server on valmis, kutsutakse vastavat tagasihelistamist, mis annab meile teada, et server töötab.

Kui server saab päringu, käivitatakse sündmuse taotlus, mis esitab kaks objekti. Esimene on päring (req, objekt http.IncomingMessage), teine ​​on vastus (res, objekt http.ServerResponse). Need on HTTP-päringute käsitlemise kõige olulisemad mehhanismid.

 

Esimene annab meile teavet päringu kohta. Meie lihtsas näites me neid andmeid ei kasuta, kuid vajadusel saate objekti kasutades pääseda juurde päringute päistele ja selles edastatud andmetele.

 

Teist on vaja päringu vormistamiseks ja vastuse saatmiseks.

 

Sellisel juhul moodustame vastuse päringule järgmiselt. Esiteks määrasime atribuudi oleku koodiks väärtus 200, mis näitab edukat toimingut:

 

res.statusCode = 200

Järgmisena määrasime pealkirja Content-Type:

res.setHeader ('Sisutüüp', 'tekst / tavaline')

Seejärel lõpetame vastuse ettevalmistamise, lisades selle sisu argumendina meetodi lõppu ():

res.end ('Tere maailm \ n')

 

Oleme juba maininud, et Node.js platvormi ümber on tekkinud võimas ökosüsteem. Arutame nüüd Node.js-i populaarseid raamistikke ja abivahendeid.

 

Raamistikud ja abivahendid Node.js-le

 

Node.js on madala taseme platvorm. Selle arendamise lihtsustamiseks ja programmeerijate elu lihtsustamiseks on loodud tohutu arv raamatukogusid. Mõni neist on aja jooksul muutunud väga populaarseks. Siin on väike loetelu raamatukogudest, mis on minu arvates hästi tehtud ja mida tasub uurida:

 

Ekspress: See teek pakub arendajale ülimalt lihtsa, kuid võimsa tööriista veebiserverite loomiseks. Expressi edu võti on olnud minimalistlik lähenemine ja keskendumine põhilistele serveripoolsetele mehhanismidele, püüdmata kehtestada visiooni "ühe peatuse" serveri arhitektuurist.

 

Meteor: See on võimas täispika raamistik, mis kasutab isomorfset lähenemist JavaScripti rakenduste väljatöötamiseks ja koodi kasutamiseks nii kliendis kui ka serveris. Kunagi oli Meteor eraldiseisev tööriist, mis sisaldab kõike, mida arendajal vaja võib minna. Nüüd integreerub see ka eesmiste teekidega nagu React, Vue ja Angular. Lisaks levinud veebirakenduste väljatöötamisele saab Meteorit kasutada ka mobiiliarenduses.

 

Koa: Selle veebiraamistiku on üles ehitanud sama meeskond Expressi taga. Tuginedes Expressi aastatepikkusele kogemusele, töötati see välja keskendudes lihtsusele ja kompaktsusele. See projekt leidis lahenduse probleemile teha Expressis suuri muudatusi, mis ei sobi kokku teiste raamistiku mehhanismidega, mis võivad kogukonda lõhestada.

 

Järgmine.js: See raamistik on mõeldud React-rakenduste serveripoolse renderdamise korraldamiseks.

 

Mikro: See on väga kerge teek asünkroonsete HTTP-mikroteenuste loomiseks.

Socket.io. See on reaalajas võrgurakenduste väljatöötamise raamatukogu.

 

Tegelikult leiate Node.js ökosüsteemist peaaegu iga ülesande jaoks abiteeki. Nagu võite ette kujutada, võtab sellise ökosüsteemi ülesehitamine palju aega. Node.js platvorm ilmus 2009. aastal. Selle olemasolu jooksul on juhtunud palju asju, mida peaks teadma programmeerija, kes soovib seda platvormi õppida.

 

Node.js lühike ajalugu

 

Node.js on sel aastal 9-aastane. See pole muidugi nii palju, kui võrrelda seda vanust JavaScripti vanusega, mis on juba 23 aastat vana, või veebi 25-aastase vanusega, nagu me teame, kui loete Mosaiigi tulekust brauser.

 

9 aastat on tehnoloogia jaoks lühike aeg, kuid nüüd näib, et Node.js platvorm on alati olemas olnud.

 

Node.js-iga platvormi varasematest versioonidest, kui see oli ainult 2 aastat vana. Isegi siis, hoolimata sellest, et Node.js-i kohta nii palju teavet polnud, võis juba tunda, et Node.js on väga tõsine.

 

Räägime nüüd Node.js-i taga olevatest tehnoloogiatest ja vaatame seda kiirestiselle platvormiga seotud peamised arengud.

 

Nii et JavaScript on programmeerimiskeel, mis loodi Netscape'is skriptikeelena veebilehtede manipuleerimiseks Netscape Navigatori brauseris.

Osa Netscape'i ärist oli veebiserverite müümine, mis hõlmas ka keskkonda nimega Netscape LiveWire. See võimaldas teil luua serveripoolse JavaScripti abil dünaamilisi veebilehti.

 

idee kasutada JS-i serveripoolseks arendamiseks on palju vanem kui Node.js. See idee on peaaegu sama vana kui JavaScript ise, kuid kõnealusel ajal ei olnud serveripoolne JS populaarne.

 

Üks võtmetegureid, mis muutis Node.js platvormi nii laialt levinud ja populaarseks, on selle esmakordne ilmumine. Nii oli mõni aasta varem JavaScripti hakatud pidama tõsiseks keeleks. See juhtus tänu Web 2.0 rakendustele nagu Google Maps või Gmail, mis näitasid maailmale tänapäevaste veebitehnoloogiate jõudu.

 

Tänu brauserite konkurentsisõjale, mis kestab tänaseni, on JavaScripti mootorite jõudlus märkimisväärselt tõusnud. Suuremate brauserite taga olevad arendustiimid töötavad iga päev oma lahenduste jõudluse parandamise nimel, millel on JavaScripti jaoks üldiselt kasulik mõju.

 

Üheks selliseks mootoriks on juba mainitud V8, mida kasutatakse Chrome'i brauseris ja mida kasutatakse saidil Node.js. See on üks brauseriarendajate tulemusi, mis püüdleb suure jõudlusega JavaScripti koodi poole.

 

Muidugi ei põhine Node.js populaarsus mitte ainult õnnelikul kokkusattumusel ja sellel, et platvorm sündis õigel ajal. Ta tutvustas maailmale uudset lähenemist serveripoolse JavaScripti arendamisele. Vaatame peamisi verstaposte Node.js ajaloos.

 

2009


  • Node.js tekkimine

  • Esimese npm variandi tegemine.

 

2010

  • Expressi välimus.

  • Socket.io tekkimine.

 

2011


  • Npm 1.0 vabastamine.

  • Suured ettevõtted nagu LinkedIn ja Uber on hakanud Node.js kasutama.

 

2012


  • Node.js populaarsuse kiire tõus

 

2013


  • Ghost, esimese suurema Node.js-i kasutavate väljaannete platvormi ilmumine.

  • Koa vabastamine.

 

2014


  • Sel aastal on toimunud dramaatilisi sündmusi. Ilmus projekt IO.js, mis on Node.js kahvli, mille eesmärk oli muu hulgas tutvustada ES6 tuge ja kiirendada platvormi arengut.

 

2015


  • Asutatakse sihtasutus Node.js.

  • IO.js ja Node.js ühendamine

  • Npm-s on võimalik töötada eramoodulitega.

  • Saagis Node.js 4 (tuleb märkida, et platvormi versioonid 1, 2 ja 3 ei olnud).

 

2016


  • Vasakpoolse paki juhtum.

  • Lõnga tekkimine.

  • Node.js 6 väljaanne.

 

2017


  • Npm hakkab turvalisusele rohkem tähelepanu pöörama.

  • Node.js 8 väljalaskmine

  • HTTP / 2 toe tekkimine.

  • V8 on ametlikult tunnustatud JS-mootorina, mis on mõeldud mitte ainult Chrome'ile, vaid ka Node'ile.

  • Igal nädalal saab alla laadida 3 miljardit npm.

 

2018


  • Node.js 10 väljaanne.

  • ES-moodulite tugi.

  • Eksperimentaalne mjs tugi.