Ohjelmointi

6 asiaa, jotka sinun pitäisi tietää Node.js: stä

JavaScript syö maailmaa, uusien työkalujen ja lisälaitteiden kanssa. Ryan Dahlin vuonna 2009 keksimän avoimen lähdekoodin ajonaikaisen järjestelmän Node.js: n avulla tämä ulottuvuus on ulottunut palvelinpuolelle.

Node.js: stä on tullut erittäin suosittu, ja kooderit käyttävät sitä kaikkialla sovellusliittymien luomiseen ja uuden yhteentoimivuusmatriisin rakentamiseen Internetissä. Joyent on ollut Node.js: n pääsponsori alusta alkaen. Tämän viikon uuden tekniikan foorumilla Joyentin tuotemarkkinoinnin johtaja Ben Wen hahmottaa kuusi asiaa, jotka sinun pitäisi tietää ilmiöstä, joka ravistaa taustakehitystä. - Paul Venezia

Node.js on ajonaikainen järjestelmä (lähinnä) palvelinpuolen sovellusten luomiseen. Se tunnetaan parhaiten JavaScript-koodaajien suosittuna tapana rakentaa reaaliaikaisia ​​Web-sovellusliittymiä.

Mutta Node.js ei ole JavaScript-kehys; todellakin, monet kirjoittajat ovat kirjoittaneet erinomaisia ​​kehyksiä nimenomaan Node.js: lle, mukaan lukien Express.js, Restify.js ja Hapi.js. Joten mitä tämä ilmiö löytää tiensä verkkosovelluksiin, käyttöjärjestelmien kääreisiin, mikro-ohjaimiin ja robotteihin?

Ytimessä Node.js on riisuttu, erittäin mukautettava palvelinmoottori - protopalvelin, jos haluat - koska se ei tee laatikosta mitään ennen kuin olet määrittänyt sen. Tämä protopalvelin prosessoi silmukassa, valmiina hyväksymään pyynnöt ja vastaamaan niihin. Mikä tahansa näistä pyynnöistä voi itse tehdä muita pyyntöjä jollekin muulle järjestelmän osalle, kuten lukea tiedosto levyltä tai lähettää signaali moottorin pyörittämiseksi robotin käsivarressa. Tuo silmukka, joka tunnetaan nimellä tapahtumasilmukka, on "ajonaikainen" osa.

Node.js toimitetaan työhevosliittimien ja kirjastojen kanssa, kuten HTTP, SSL, pakkaus, tiedostojärjestelmän käyttö sekä raaka TCP ja UDP. JavaScript, joka on jo viritetty verkkoselaimen tapahtumasilmukkaympäristöön graafista käyttöliittymää ja verkkotapahtumia varten, on loistava kieli näiden liittimien kytkemiseen. Voit napsauttaa liittimet tapahtumasilmukkaan melkein yhtä helposti kuin napsauttaa Lego-osat yhteen. Näin voit luoda yksinkertaisen, dynaamisen verkkopalvelimen vain muutamalla JavaScript-rivillä.

Lyhyesti sanottuna Node.js on ajonaikainen järjestelmä, jonka avulla on helppo rakentaa verkko tai muita tapahtumapohjaisia ​​sovelluspalvelimia. Tässä on kuusi asiaa, jotka sinun on tiedettävä siitä.

1. JSON on voittanut

JSON (JavaScript Object Notation) on käytännöllinen, monimutkainen, erittäin suosittu tiedonvaihtomuoto. JSON on antanut JavaScript-kehittäjille mahdollisuuden rakentaa nopeasti sovellusliittymiä ja edistää yhteentoimivuutta mittakaavassa - keskeinen tavoite Node.js-koodereille. JSON: n jyrkkä yksinkertaisuus voidaan ilmaista vain viidessä rautatieliikennekaaviossa, erityisesti ilman XML: n ja sen juonittelevien ystävien itsetietoista karsimista (SOAP, XSD, WS- *, RELAX-NG ja heidän loputtomat komitean kokouksensa).

JSON ja JavaScript ovat vahvistaneet toistensa merkitystä. Jo webin alkuaikoina selaimen dynaamista tietoa oli käsiteltävä, suodatettava ja käytettävä ainoalla käytettävissä olevalla kohtuullisesti ymmärrettävällä ei-laajennuskielellä: JavaScript. Alkuperäisestä verkossa esitettävästä muodosta riippumatta tiedot oli järjestettävä JavaScript-objektiin. Riippuvuus JSON: sta yleiskäyttöisten tietojen kuvauksessa johti asiakirjapainotteisiin NoSQL-tietokantoihin, kuten MongoDB ja CouchDB. Kaikki on tänään JSON.

2. JavaScript on kaikkialla

JavaScript on omituinen, olio-orientoitu, C-tyyppinen kieli. Se on ainoa valinta sovellusten kehittämiseen selaimessa, ja joka viikko uusi kehys otetaan käyttöön kehittäjille. Ja Node.js: n kanssa JavaScript on levinnyt palvelimelle. Kilpailevat toteutusryhmät ovat ajaneet JavaScript-tulkit eteenpäin, joten Googlen V8-moottori on suhteellisen nopea - riittävän nopea asumaan Node.js: n ytimessä.

JavaScriptillä on myös sisäinen kyky käsitellä tapahtumasilmukamekanismia suoraviivaisella tavalla. Muilla kielillä on tämä ominaisuus, jota omat tapahtumajärjestelmänsä käyttävät. Pythonilla on Twisted ja Rubyllä EventMachine. Mutta historiasta johtuen molemmissa tapahtumasilmukkajärjestelmissä on suhteellisen helppoja tapoja tehdä tietyntyyppinen suorituskykyvirhe, kun taas JavaScript on edelleen suhteellisen vapaa tästä vaarasta.

JavaScriptiä käytetään myös monissa käyttöjärjestelmissä, koska sen on jo aiemmin pitänyt tukea niitä selaimessa. Tämä yhdessä libuv-kirjaston kanssa, joka auttaa erottamaan joitain käyttöjärjestelmäeroja, tarkoittaa, että Node.js: llä on laaja jalanjälki.

Mutta suurin voima JavaScriptin siirtymisessä palvelinpuolelle on ihminen. Ohjelmoijien on tehtävä vähemmän henkistä kontekstivaihtoa verkkoselaimen ja palvelimen välillä. Asiakkaan ja palvelimen välisiä ympäristöjä pyritään jopa yhtenäistämään, jotta koodi toimisi yhtä hyvin kummassakin paikassa, mikä yksinkertaistaa mallia edelleen ja lisää tuottavuutta.

3. Jakamista kannustetaan

Node.js-yhteisön eetos on "jaa iloisesti". Kirjastokoodipakettien jakaminen on pelottavan helppoa - teknisesti, kulttuurisesti, menettelyllisesti ja laillisesti. Node Package Manager sisältyy Node.js: ään ja on kasvanut lähes 50000 paketin arkistoksi, mikä tekee todennäköiseksi, että toinen kehittäjä on jo pakannut ratkaisun ongelmaan tai jopa joitain vähemmän yleisiä.

Node.js: n nimiavaruusfilosofia on pohjimmiltaan sellaisen puuttuminen, minkä ansiosta kukaan kirjailija voi julkaista käyttämättömän moduulin nimellä jaetussa julkisessa arkistossa. Koodin jakaminen MIT: n avoimen lähdekoodin lisenssillä on erittäin suositeltavaa yhteisössä, mikä tekee koodin ristipölystyksestä myös suhteellisen huoletonta (ja asianajajavapaata) henkisen omaisuuden näkökulmasta. Lopuksi yhteisö on sitoutunut erittäin kiinnostavien mielenkiintoisten C-kirjastojen, kuten tietokonenäkö (OpenCV) ja Tesseract avoimen lähdekoodin optisten merkkien kirjaston, sitomiseen. Esimerkiksi jälkimmäinen tekee mahdolliseksi viikonloppuprojektit, kuten Imdex, jotka käsittelevät kuvia verkosta, jotta niihin voidaan hakea automaattisesti kirjoitettua sisältöä.

4. Node Package Manager toimii laajasti

Kun puhutaan kirjastojen riippuvuuksien hallinnasta, Node Package Manager ansaitsee kutsun. Node Package Manager on melkein kaikkien Node.js: n käyttöönottojärjestelmien perusta, ja se on Node.js: n monien PaaS (platform-as-a-service) -palvelujen tarjoajien taustalla, mikä tekee pienempien sovellusten siirtämisen palveluntarjoajien välillä hieman helpoksi. Sen yksinkertainen ja luotettava pakettien hallinta on antanut Node-ekosysteemin kasvaa erittäin hyvin viime aikojen historiassa siihen pisteeseen asti, että taustalla olevan julkisen palvelun on nyt skaalattava seuraavalle tasolle.

5. 'Paristot eivät sisälly' minimalismia

Node.js-sovellukset ja itse Node.js Core on jaoteltu pieniin moduuleihin, jotka on muodostettu ja jaettu. Jokainen paketti ja työkalu voidaan rajata tiukasti ja muotoilla hallittaviksi. Nämä voidaan sitten paistaa yhdessä - usein ilman liikaa turhaa vaivaamista. Moduulin luomisen matala este, huoleton luonne kannustaa myös kokeilemaan yhteisössä, ja pakettipopulaatiossa on melko vähän päällekkäisyyksiä ja kokeiluja. Hyvin suoritettuna kukin paketti käsittelee tyypillisesti yhtä tehtävää (esim. Node-optimist.js: 'kevyt [komentorivi] -vaihtoehdon jäsentäminen').

6. Instrumentointi

Lopuksi, Node.js on hyvin instrumentoitu tuotantokäyttöön. Tämä tarkoittaa sitä, että on olemassa työkaluja, jotka auttavat saamaan sovelluksen täydelliseen tuotantovalmiuteen ja suorituskykyyn. Kuten minkä tahansa kypsytystekniikan kohdalla, on alueita, joilla enemmän dokumentaatiota, työkaluja ja parhaita käytäntöjä voi olla hyödyllistä. Mutta kun Node.js on kohti seuraavaa suurta julkaisua, se on melko vankalla pohjalla.

Solmu kontekstissa

Jos tiedät JavaScriptiä, Node.js on hellävarainen asynkroninen laskenta verkkoon. Ja sattuu niin, että Node.js sopii ratkaisemaan täsmälleen tämän tyyppisiä verkko-ongelmia: integrointi- ja liimahaasteet, liittymäkohtaisten kutsujen avulla API: lle API: n jälkeen.

Missä Node.js ei toimi niin hyvin? Se ei ole täysin sopiva paikoissa, joissa yksisäikeinen laskenta tulee olemaan pidätys, kuten jonkinlainen peräkkäinen likiarvo tai luokitus. Näissä tapauksissa on tehokkaampaa, että Node.js pudottaa pyynnön riippumattomaan kirjastoon, joka on omistettu tehtävälle, missä se voidaan jakaa sadoille tai tuhansille prosessoreille.

Node.js erääntyy nopeasti, ja sitä käytetään yhä useammissa tehtäväkriittisissä ja tulokriittisissä järjestelmissä, kuten eCommerce Black Friday -infrastruktuureissa. Node.js: n käytön aloittaminen on helppoa, ja silti Node.js on riittävän syvä käsittelemään moderneja web-monimutkaisuuksia. Jos rakennat seuraavan sukupolven verkkosivustoasi - etenkin sovellusliittymiä mobiili- ja verkkointegraatioon - tai jos luot jotain uutta, joka riippuu itse palveluista, Node.js on ajonaikainen järjestelmä, joka voi hyvin toimia sinulle.

New Tech Forum tarjoaa keinon tutkia ja keskustella kehittyvän yritysteknologian ennennäkemättömästä syvyydestä ja laajuudesta. Valinta on subjektiivinen, perustuu valitsemiemme tekniikoihin, joiden uskomme olevan tärkeitä ja kiinnostavia lukijoille. ei hyväksy markkinointivakuuksia julkaisua varten ja pidättää oikeuden muokata kaikkea lähetettyä sisältöä. Lähetä kaikki tiedustelut osoitteeseen [email protected].

Tämä artikkeli "6 asiaa, jotka sinun pitäisi tietää Node.js: sta", julkaistiin alun perin osoitteessa .com. Uusimmat yritysteknologiauutiset ovat seuraamalla .com Twitterissä.

$config[zx-auto] not found$config[zx-overlay] not found