Node.JS

Node.js on avoimen lähdekoodin Java-käyttöjärjestelmä, joka toimii palvelimilla. Alusta on julkaistu vuonna 2009, ja siitä on tullut erittäin suosittu, ja sillä on nykyään erittäin tärkeä rooli verkkokehityksen alalla.
Koko artikkeli osoitteessa Node.JS ...

Näytä suodatin
Suodattimien ylläpito
A2 Themes & Host Me Filter

Käyttöjärjestelmä

Levytila

RAM-muisti

Levytyyppi

CPU-ytimet

Järjestellä

Pisteet - 0
RedSwitches Logo
RedSwitches

Punaiset kytkimet

Pearl
$6.94 /Kuukausittain


Palvelinten sijainnit


RedSwitches Servers in NetherlandsAlankomaat RedSwitches Servers in UnionYhdysvallat RedSwitches Servers in MelbourneAustralia RedSwitches Servers in MumbaiIntia RedSwitches Servers in GermanySaksa
Vertailla
Pisteet - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Kuukausittain


Palvelinten sijainnit


Hostarina Servers in UnionYhdysvallat Hostarina Servers in RawalpindiPakistan Hostarina Servers in MunichSaksa
Vertailla
Pisteet - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Kuukausittain


Palvelinten sijainnit


Net9 Oy Servers in StockholmRuotsi Net9 Oy Servers in HelsinkiSuomi Net9 Oy Servers in ParisRanska
Vertailla
Pisteet - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Kuukausittain


Palvelinten sijainnit


Heroku Servers in United StatesYhdysvallat
Vertailla
Pisteet - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Kuukausittain

Vertailla
Pisteet - 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /Kuukausittain


Palvelinten sijainnit


Chemi Cloud Servers in BangaloreIntia Chemi Cloud Servers in New YorkYhdysvallat Chemi Cloud Servers in BucharestRomania Chemi Cloud Servers in LondonYhdistynyt kuningaskunta Chemi Cloud Servers in AmsterdamAlankomaat Chemi Cloud Servers in TorontoKanada Chemi Cloud Servers in SydneyAustralia
Vertailla
Pisteet - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Kuukausittain


Palvelinten sijainnit


Oudel Servers in UnionYhdysvallat
Vertailla

 

Node.js

 

 

Node.js on avoimen lähdekoodin Java-käyttöjärjestelmä, joka toimii palvelimilla. Alusta on julkaistu vuonna 2009, ja siitä on tullut erittäin suosittu, ja sillä on nykyään erittäin tärkeä rooli verkkokehityksen alalla. Jos katsomme projektin GitHubille keräämien tähtien lukumäärän suosion osoittimeksi, niin yli 50000 tähteä sisältävä Node.js on erittäin, erittäin suosittu projekti.

 

Node.js-alusta on rakennettu Googlen V8 JavaScript-moottoriin, jota käytetään Google Chrome -selaimessa. Tätä alustaa käytetään pääasiassa verkkopalvelimien luomiseen, mutta sen laajuus ei rajoitu tähän.

 

Katsotaanpa Node.js: n pääpiirteitä.

 

Nopeus

 

Yksi Node.js: n tärkeimmistä nähtävyyksistä on nopeus. Node.js: ssä suoritettava JavaScript-koodi voi olla kaksi kertaa nopeampi kuin käännetyillä kielillä, kuten C tai Java, kirjoitettu koodi, ja suuruusluokkaa nopeammin kuin tulkitut kielet, kuten Python tai Ruby. Syynä tähän on alustan estämätön arkkitehtuuri, ja tarkat tulokset riippuvat käytetyistä vertailuarvoista, mutta kaiken kaikkiaan Node.js on erittäin nopea alusta.

 

Yksinkertaisuus

 

Node.js -alusta on helppo oppia ja käyttää. Itse asiassa se on suorastaan ​​hyvin yksinkertainen, varsinkin verrattuna muihin palvelinympäristöihin.

 

JavaScript

 

JavaScript suoritetaan Node.js-ympäristössä. Tämä tarkoittaa sitä, että miljoonat käyttöliittymäkehittäjät, jotka jo käyttävät JavaScriptiä selaimessa, voivat kirjoittaa sekä palvelin- että asiakaspuolen koodin samalla ohjelmointikielellä tarvitsematta oppia kokonaan uutta työkalua palvelinpuolen kehitykseen siirtymiseksi.

 

Selain ja palvelin käyttävät samoja kielikäsitteitä. Lisäksi Node.js voi nopeasti siirtyä uusiin ECMAScript-standardeihin, kun ne otetaan käyttöön alustalla.

 

Tätä varten ei tarvitse odottaa, että käyttäjät päivittävät selaimensa, koska Node.js on palvelinpuolen ympäristö, joka on täysin kehittäjän hallinnassa. Tämän seurauksena uudet kieliominaisuudet ovat käytettävissä, kun asennat Node.js: n tukevan version.

 

V8-moottori

 

Node.js: n ytimessä on muun muassa Googlen avoimen lähdekoodin V8-JavaScript-moottori, jota käytetään Google Chromessa ja muissa selaimissa. Tämä tarkoittaa, että Node.js hyödyntää tuhansia insinöörejä, jotka tekivät JavaScript Chromen ajonaikan uskomattoman nopeasti ja jatkavat työtä V8: n parantamiseksi.

 

Asynkronia

 

Perinteisillä ohjelmointikielillä (C, Java, Python, PHP) kaikki ohjeet estetään oletusarvoisesti, ellei kehittäjä nimenomaisesti huolehdi koodin suorittamisesta asynkronisesti. Seurauksena on, että jos esimerkiksi sellaisessa ympäristössä teet verkkopyynnön jonkin JSON-koodin lataamiseksi, sen virran toteutus, josta pyyntö tehdään, keskeytetään, kunnes vastaus on vastaanotettu ja käsitelty.

 

JavaScripti helpottaa asynkronisen ja estämättömän koodin kirjoittamista yhdellä säikeellä, soittopyyntöjä ja tapahtumapohjaista lähestymistapaa kehitykseen. Joka kerta, kun meidän on suoritettava raskas operaatio, välitämme soittopyynnön sopivalle mekanismille, joka kutsutaan välittömästi tämän toimenpiteen päättymisen jälkeen. Tämän seurauksena ei tarvitse odottaa tällaisten toimintojen tuloksia, jotta ohjelma jatkaa toimintaansa.

 

Samanlainen mekanismi on peräisin selaimista. Meillä ei ole varaa odottaa esimerkiksiAJAXpyyntö lopettaa pystymättä vastaamaan käyttäjän toimiin, kuten napin painalluksiin. Jotta käyttäjien olisi helppo työskennellä verkkosivujen kanssa, kaiken, sekä tietojen lataamisen verkosta että painikkeiden napsautusten, on tapahduttava samanaikaisesti, reaaliajassa.

 

Jos olet joskus luonut napin painalluksella tapahtumankäsittelijän, olet jo käyttänyt asynkronista ohjelmointitekniikkaa.

 

Asynkronisten mekanismien avulla yksi Node.js-palvelin voi samanaikaisesti käsitellä tuhansia yhteyksiä rasittamatta ohjelmoijaa ketjunhallinnalla ja rinnakkaisilla koodin suorittamistehtävillä. Tällaiset asiat ovat usein virhelähteitä.

 

Node.js tarjoaa kehittäjälle ei-estävät I / O-perusmekanismit, ja yleensä Node.js-kehyksessä käytetyt kirjastot kirjoitetaan käyttämällä ei-estäviä paradigmoja.Tämä tekee estokäyttäytymisestä pikemminkin poikkeuksen kuin normin.

 

Kun Node.js: n on suoritettava I / O-toiminto, kuten tietojen lataaminen verkosta, pääsy tietokantaan tai tiedostojärjestelmään, sen sijaan, että estäisit pääketjun odottavan tällaisen toiminnan tuloksia, Node.js aloittaa sen ja jatka muiden asioiden tekemistä, kunnes tämän operaation tulokset ovat saatu.

 

Kirjastot

 

Node.js: n npm-nimisen paketinhallinnan kanssa työskenteleminen on helppoa ja helppoa. Npm-rekisterissä on nyt yli puoli miljoonaa avoimen lähdekoodin pakettia, joita kaikki Node.js-kehittäjät voivat käyttää vapaasti.

 

Tarkasteltuamme joitain Node.js-alustan pääominaisuuksia, kokeillaan sitä toiminnassa. Aloitetaan asennuksesta.

 

 

Node.js

 

 

Node.js: n asentaminen

 

Node.js voidaan asentaa monin eri tavoin, jotka käsittelemme hetken kuluttua. Joten, kaikkien tärkeimpien alustojen viralliset asennuspaketit löytyvät.

 

On toinen erittäin kätevä tapa asentaa Node.js, eli käyttää käyttöjärjestelmän pakettien hallintaa. Esimerkiksi macOS-paketinhallintaa, joka on tosiasiallisesti standardi tällä alalla, kutsutaan Homebrewiksi.

 

Jos sinulla on sellainen järjestelmässäsi, voit asentaa Node.js suorittamalla tämän komennon komentorivillä:

 

hautua asennussolmu

 

Luettelo muiden käyttöjärjestelmien, mukaan lukien Linux ja Windows, pakettienhallinnasta löytyy täältä.

 

Suosittu Node.js-versionhallintaohjelma on nvm. Tämän työkalun avulla voit siirtyä kätevästi Node.js: n eri versioiden välillä. Sen avulla voit esimerkiksi asentaa ja kokeilla Node.js: n uutta versiota ja tarvittaessa palata vanhaan. Nvm on hyödyllinen myös tilanteessa, jossa joudut testaamaan koodia Node.js: n vanhalla versiolla.

 

Aloittelijoille mahdollisuus käyttää virallisia Node.js-asennusohjelmia. MacOS-käyttäjille suosittelemme Node.js: n asentamista Homebrew-ohjelmalla. Nyt kun olet asentanut Node.js, on aika kirjoittaa "Hello World".

 

Ensimmäinen Node.js-sovellus

 

Yleisin esimerkki ensimmäisestä Node.js-sovelluksesta on yksinkertainen verkkopalvelin. Tässä on sen koodi:

const http = vaatia ('http')

const isäntänimi = '127.0.0.1'

const-portti = 3000

const-palvelin = http.createServer ((kysy, res) = & gt; {

res.statusCode = 200

res.setHeader ('Sisältötyyppi', 'teksti / tavallinen')

res.end ('Hei maailma \ n')

})

server.listen (portti, isäntänimi, () = & gt; {

console.log (`Palvelin, joka toimii osoitteessa http: // $ {hostname}: $ {port} /`)

})

 

Suorita tämä koodi tallentamalla se tiedostoon server.js ja suorittamalla seuraava komento terminaalissa:

 

solmu server.js

 

Voit tarkistaa palvelimen avaamalla selaimen ja kirjoittamalla osoiteriville http://127.0.0.1:3000, eli palvelimen osoitteen, joka näkyy konsolissa sen onnistuneen käynnistämisen jälkeen. Jos kaikki toimii niin kuin pitäisi, sivulla näkyy "Hello World".

 

Katsotaanpa tätä esimerkkiä.

 

Ensin huomaa, että koodi sisältää komennon HTTP-moduulin yhdistämiseksi.

 

Node.js-alustalla on erinomainen vakiomoduulisarja, joka sisältää hyvin kehitetyt mekanismit verkon kanssa työskentelyyn.

Objektimenetelmä createServer () http luo uuden HTTP-palvelimen ja palauttaa sen.

 

Palvelin on määritetty kuuntelemaan tietyn isännän tietyssä portissa. Kun palvelin on valmis, soitetaan vastaava takaisinsoitto ja ilmoitetaan palvelimen olevan käynnissä.

Kun palvelin vastaanottaa pyynnön, tapahtumapyyntö käynnistää kaksi objektia. Ensimmäinen on pyyntö (kysy, http.IncomingMessage-objekti), toinen on vastaus (res, http.ServerResponse-objekti). Ne ovat tärkeimmät HTTP-pyyntöjen käsittelymekanismit.

 

Ensimmäinen antaa meille tietoja pyynnöstä. Yksinkertaisessa esimerkissämme emme käytä näitä tietoja, mutta tarvittaessa käyttämällä objektia tarvitset pääsyn pyyntöotsikoihin ja niihin siirrettyihin tietoihin.

 

Toista tarvitaan vastauksen muodostamiseen ja lähettämiseen pyyntöön.

 

Tässä tapauksessa muodostamme vastauksen pyyntöön seuraavasti. Ensinnäkin asetamme ominaisuuden tilakoodiksi arvon 200, mikä osoittaa onnistuneen toiminnan:

 

res.statusCode = 200

Seuraavaksi asetetaan otsikko Content-Type:

res.setHeader ('Sisältötyyppi', 'teksti / tavallinen')

Sitten suoritamme vastauksen valmistelun lisäämällä sen sisällön argumenttina metodin loppuun ():

res.end ('Hei maailma \ n')

 

Olemme jo maininneet, että Node.js-alustan ympärille on muodostunut voimakas ekosysteemi. Keskustellaan nyt Node.js: n suosituista kehyksistä ja aputyökaluista.

 

Node.js: n kehykset ja aputyökalut

 

Node.js on matalan tason alusta. Sen kehittämisen yksinkertaistamiseksi ja ohjelmoijien elämän helpottamiseksi on luotu valtava määrä kirjastoja. Joistakin niistä on tullut erittäin suosittuja ajan myötä. Tässä on pieni luettelo kirjastoista, jotka ovat mielestäni hyvin tehtyjä ja tutkimuksen arvoisia:

 

Ilmaista: Tämä kirjasto tarjoaa kehittäjälle erittäin yksinkertaisen mutta tehokkaan työkalun verkkopalvelinten rakentamiseen. Avain Expressin menestykseen on ollut minimalistinen lähestymistapa ja keskittyminen palvelinpuolen perusmekanismeihin yrittämättä asettaa visio "yhden luukun" palvelinarkkitehtuurista.

 

Meteori: Se on tehokas full-stack-kehys, joka käyttää isomorfista lähestymistapaa JavaScript-sovellusten kehittämiseen ja koodin käyttämiseen sekä asiakkaalla että palvelimella. Kun Meteor oli itsenäinen työkalu, joka sisältää kaiken, mitä kehittäjä tarvitsee. Se integroituu nyt myös käyttöliittymäkirjastojen, kuten React, Vue ja Angular, kanssa. Meteoria voidaan yleisten verkkosovellusten kehittämisen lisäksi käyttää myös mobiilikehityksessä.

 

Koa: Tämän verkkokehyksen on rakentanut sama tiimi Expressin takana. Expressin vuosien kokemuksen pohjalta se kehitettiin keskittyen yksinkertaisuuteen ja kompaktiuteen. Tämä projekti tuli ratkaisuksi ongelmaan, joka koskee Expressin suurten muutosten tekemistä, jotka ovat ristiriidassa muiden yhteisön mekanismien kanssa, jotka voisivat jakaa yhteisön.

 

Next.js: Tämä kehys on suunniteltu järjestämään React-sovellusten palvelinpuolen renderointi.

 

Mikro: Se on erittäin kevyt kirjasto asynkronisten HTTP-mikropalvelujen rakentamiseen.

Socket.io. Se on kirjasto reaaliaikaisten verkkosovellusten kehittämiseen.

 

Itse asiassa Node.js-ekosysteemistä löytyy apukirjasto melkein mihin tahansa tehtävään. Kuten voitte kuvitella, tällaisen ekosysteemin rakentaminen vie paljon aikaa. Node.js-alusta ilmestyi vuonna 2009. Olemassaolonsa aikana on tapahtunut monia asioita, jotka pitäisi tietää ohjelmoijalle, joka haluaa oppia tämän alustan.

 

Lyhyt Node.js-historia

 

Node.js on tänä vuonna 9-vuotias. Tämä ei tietenkään ole niin paljon, kun verrataan tätä ikää Javascriptin ikään, joka on jo 23 vuotta, tai verkon 25-vuotiaaseen, kuten tiedämme, jos lasket Mosaiikin tulemisesta. selain.

 

9 vuotta on lyhyt aika tekniikalle, mutta nyt näyttää siltä, ​​että Node.js -alusta on aina ollut olemassa.

 

Node.js: n kanssa alustan varhaisista versioista, kun se oli vain 2 vuotta vanha. Silloinkin, vaikka Node.js: stä ei olisikaan ollut niin paljon tietoa, saattoi jo tuntua, että Node.js on erittäin vakava.

 

Puhutaan nyt Node.js: n takana olevista tekniikoista ja katsotaan nopeastitähän alustaan ​​liittyvä tärkein kehitys.

 

Joten JavaScript on ohjelmointikieli, joka luotiin Netscapessa komentosarjakielenä verkkosivujen käsittelyyn Netscape Navigator -selaimessa.

Osa Netscapen liiketoiminnasta oli verkkopalvelimien myynti, johon sisältyi ympäristö nimeltä Netscape LiveWire. Sen avulla voit luoda dynaamisia verkkosivuja palvelinpuolen JavaScriptiä käyttäen.

 

ajatus JS: n käyttämisestä palvelinpuolen kehitykseen on paljon vanhempi kuin Node.js. Tämä idea on melkein yhtä vanha kuin itse JavaScript, mutta kyseisenä ajankohtana palvelinpuolen JS ei ollut suosittu.

 

Yksi tärkeimmistä tekijöistä, jotka tekivät Node.js-alustasta niin yleisen ja suositun, on, kun se ilmestyi ensimmäisen kerran. Joten muutama vuosi aiemmin JavaScriptiä oli alettu pitää vakavana kielenä. Tämä tapahtui Web 2.0 -sovellusten, kuten Google Maps tai Gmail, ansiosta, jotka osoittivat maailmalle nykyaikaisen verkkotekniikan voiman.

 

Tänään jatkuvan selainten kilpailusodan ansiosta JavaScript-moottorien suorituskyky on kasvanut merkittävästi. Suurten selainten takana olevat kehitystiimit työskentelevät päivittäin parantaakseen ratkaisujensa suorituskykyä, mikä vaikuttaa myönteisesti JavaScriptiin yleensä.

 

Yksi tällainen moottori on jo mainittu V8, jota käytetään Chrome-selaimessa ja jota käytetään Node.js: ssä. Se on yksi selainkehittäjien tuloksista, jotka pyrkivät tehokkaaseen JavaScript-koodiin.

 

Tietysti Node.js: n suosio ei perustu pelkästään onnekkaaseen sattumaan ja siihen, että alusta syntyi oikeaan aikaan. Hän esitteli maailmalle innovatiivisen lähestymistavan palvelinpuolen JavaScript-kehitykseen. Katsotaanpa Node.js: n historian tärkeimpiä virstanpylväitä.

 

2009


  • Node.js: n syntyminen

  • Ensimmäisen npm-muunnoksen tekeminen.

 

2010

  • Expressin ulkonäkö.

  • Socket.io: n syntyminen.

 

2011


  • Npm 1.0 -julkaisu.

  • Suuret yritykset, kuten LinkedIn ja Uber, ovat aloittaneet Node.js: n käytön.

 

2012


  • Node.js: n nopea suosion nousu

 

2013


  • Ghostin, ensimmäisen merkittävän alustan julkaisuille, jotka käyttävät Node.js: ää.

  • Koa-julkaisu.

 

2014


  • Tänä vuonna on tapahtunut dramaattisia tapahtumia. IO.js-projekti ilmestyi, joka on Node.js-haarukka, jonka tarkoituksena oli muun muassa ottaa käyttöön ES6-tuki ja nopeuttaa alustan kehitystä.

 

2015


  • Node.js -säätiö on perustettu.

  • IO.js: n ja Node.js: n yhdistäminen

  • Npm: ssä on mahdollista työskennellä yksityisten moduulien kanssa.

  • Tuotto Node.js 4 (on huomattava, että alustan versiot 1, 2 ja 3 eivät olleet).

 

2016


  • Vasemmanpuoleisen paketin tapaus.

  • Lankan syntyminen.

  • Node.js 6 -julkaisu.

 

2017


  • Npm alkaa kiinnittää enemmän huomiota turvallisuuteen.

  • Node.js 8 -julkaisu

  • HTTP / 2-tuen syntyminen.

  • V8 on virallisesti tunnustettu JS-moottoriksi, joka on suunniteltu paitsi Chromelle myös Nodelle.

  • Latauksia on 3 miljardia minuutissa minuutissa.

 

2018


  • Node.js 10 -julkaisu.

  • Tuki ES-moduuleille.

  • Kokeellinen mjs-tuki.