NodeJS

Što je NodeJS?

Što je NodeJS?

U ovom uputstvu započet ćemo s Nodeom.js. Saznajte o nekim od njegovih najpopularnijih značajki i pokušat će motivirati čitatelje da usvoje ovu divnu tehnologiju za svoje buduće projekte. Kao preduvjet, trebate samo usput upoznati JavaScript i koncepte generičkog programiranja, poput varijabli, tipova podataka i funkcija.

JavaScript ima čudnu povijest. Počeo je kao lagani skriptni jezik za web preglednike i tretiran je više kao "igračka" nego kao ozbiljan programski jezik. Ali odavno je prerastao svoj skromni početak.

Ljudi su počeli proširivati ​​njegove mogućnosti kada je Googleov Chromeov interpreter JavaScript-a otvorenog koda - V8 engine. Čvor.js uzima ovaj JavaScript mehanizam i proširuje ga na rad izvan područja preglednika. Čvor.js veže JavaScript s API-jem vašeg operativnog sustava kako bi se mogao izvorno pokretati na poslužitelju (ili u slučaju programera na svojoj radnoj površini). Da, to znači da možete implementirati aplikacije na strani poslužitelja, radne površine i pozadinske mehanizme tako što ćete naučiti samo jedan jezik - JavaScript.

Jednostavno rečeno, možete pisati .js datoteke koje sadrže programe napisane u sintaksi JavaScript-a koje će Node protumačiti.js otprilike na isti način kao i .py datoteke s valjanom sintaksom interpretira / izvršava python interpreter.

Međutim, Node je tu i više od samog poznavanja jezika.js ima nepoznate module i koncepte koji bi zahtijevali strpljenje u neprekidnom ciklusu učenja novih koncepata. Ima vlastiti upravitelj paketa (npm), upravitelj verzija (nvm) i najveći svjetski registar paketa. Budite sigurni, početna poteškoća dugoročno će vam olakšati život.

Montaža

Trenutno postoje dvije mogućnosti za Node.js verzije koje biste mogli uzeti u obzir.

Ostat ćemo pri LTS verziji. Preuzimanje Node-a sa službenog mjesta za vaš operativni sustav također bi instaliralo Node Package Manager (npm). Teško je govoriti o Nodeu.js bez ulaska u npm. Kasnije ćemo se vratiti upravitelju paketa. Ako koristite Ubuntu ili bilo koji drugi debian distro, jednostavno upotrijebite:

$ sudo apt install nodejs

Za sve binarne datoteke i izvorni kod posjetite službenu stranicu za preuzimanje.

To je to s instalacijom, vrijeme je da kažete: „Zdravo, Svijete!"

Pozdrav svijete! I stvaranje poslužitelja

Kao što smo i obećali, stvorit ćemo zdravo.js datoteku i pokrenite je pomoću Node. U običnoj tekstualnoj datoteci, tzv zdravo.js, napišemo sljedeći redak:

konzola.log („Zdravo, Svijete!");

Sada spremite datoteku i otvorite terminal u istom direktoriju kao i ta datoteka i pokrenite sljedeću naredbu:

$ čvor zdravo.js
# Ili možeš trčati
$ čvor zdravo

To će vam dati željeni izlaz od "Pozdrav svijete". Baš poput JavaScript-a od vanilije. Ali sigurno, možemo i bolje ..

Za razliku od PHP aplikacija koje zahtijevaju Apache ili Nginx ili neki drugi program web poslužitelja da se izvrši, u čvoru pišemo vlastite http rute, konfiguriramo portove i imena hostova i obrađujemo HTTP zahtjeve kako bismo dali odgovarajuće odgovore.

Zvuči kao puno posla, ali to je samo početna prepreka u krivulji učenja, a kad se malo zakačite, moći ćete razumjeti web aplikacije dublje nego ikad prije. Stvorimo web poslužitelj koji preslušava port 3000 na localhostu i vraća tekstualnu datoteku kao odgovor. Stvorite datoteku app.js sa sljedećim sadržajima:

const http = zahtijeva ('http');
const hostname = '127.0.0.1 ';
const port = 3000;
const poslužitelj = http.createServer ((req, res) =>
rez.statusCode = 200;
rez.setHeader ('Content-Type', 'text / plain');
rez.kraj ('Pozdrav svijetu \ n');
);
poslužitelju.slušaj (port, ime hosta, () =>
konzola.log ('Poslužitelj pokrenut na http: // $ hostname: $ port /');
);

Prije nego što uđemo u detalje koda, spremite ovu datoteku i otvorite terminal u istom direktoriju kao i datoteka, a zatim pokrenite:

$ node aplikacija

Ovo će izvršiti sadržaj app.js datoteku i dobit ćete izlaz na sljedeći način:

Otvorite web preglednik i posjetite http: // localhost: 3000 / ili http: // 127.0.0.1: 3000 / da biste na prozoru preglednika vidjeli jednostavan tekst Hello World.

Pa što smo upravo učinili? Pa, ako ste upoznati s JavaScriptom, vjerojatno možete shvatiti nešto od toga ..

The prvi red uvozi http modul, koji je ugrađeni modul koji dolazi zajedno s Nodeom, a pomaže nam u preslušavanju zahtjeva na web socketima, obradi http zahtjeva i davanju odgovarajućih odgovora.

The drugi i treći redak postavlja ime domaćina do '127.0.0.1 ' i luka  do 3000. To znači da možemo nastaviti upotrebljavati varijablu ime domaćina i luka, umjesto da upišete cijelu IP adresu. Kasnije, kad ga zapravo budete postavljali na poslužitelj, zamijenit ćete ga IP adresom poslužitelja i brojem porta poput 80 ili 443 ako je web poslužitelj. Ključna riječ konst osigurava da se varijabla ne može mijenjati drugdje u programu.

The linije četiri do osam  kreira objekt poslužitelja koji uzima zahtjev kao zahtjev i daje odgovor kao rez.

Odgovor ima atribut statusCode, rez.statusCode koja je postavljena na 200 što klijent tumači kao status "U redu". Kodovi pogrešaka su 400 i 500, na primjer, Greška 404 je kôd za resurs koji nije pronađen. Slično tome, atribut setHeader postavljen je na 'text / plain', što znači da će klijent primiti običan tekst. Možete to postaviti na HTML i vaš će preglednik prikazati bilo koji valjani html s kojim poslužitelj odgovara. I kraj atribut je jednostavno tekst koji želimo vratiti. Umjesto da ovdje imaju niz, stvarni će programi imati statičnu HTML datoteku ili drugu .js datoteku za klijentski preglednik, što bi predstavljalo puno korisniji odgovor.

Napokon, zadnja tri retka pokreće poslužitelj i ispisuje poruku u kojoj se kaže da je aktivan na određenom imenu hosta i broju porta kako je postavio konst izjave, u početku. Svaki put kada se novi zahtjev pojavi na navedenom imenu hosta: poslužitelj kombinacije priključaka daje odgovore odgovarajućim odgovor objekt.

Što to podrazumijeva?

Ne morate razumjeti gornji kod u cijelosti da biste znali implikacije. Već imamo JavaScript na prednjoj strani zahvaljujući sjajnim okvirima poput Angular i React. Uz to, imamo i pozadinske funkcionalnosti ugrađene u Node.js etos.

Web okviri poput Expressa.js vam može pomoći da na Node napišete još složeniju aplikaciju.js. Dohvaćanje podataka iz baze podataka, stvaranje API-ja i sučelja sučelja mogu se napisati jednim jezikom.

Snaga V8

Unatoč tome što je to jedan jezik, još se puno toga može naučiti. Različiti okviri i moduli imaju različite funkcionalnosti. Postoji tona verzija kojih se treba pratiti. Dakle, postoji li još kakva korist od korištenja čvora.js ekosustav.

Jedan od najvažnijih argumenata u prilog tome je da V8 motor ima izvrsnu potporu za asinkrone, neblokirajuće I / O. Što u osnovi znači da jedan proces koji se izvodi u memoriji vašeg sustava može obrađivati ​​više dolaznih zahtjeva Ono što otprilike znači je da ako se jedan zahtjev obrađuje, a drugi zahtjev uđe, Node može započeti obradu novog zahtjeva čak i ako prvi zahtjev još nije gotov.

Štoviše, jedan postupak pokrenut u vašoj memoriji odgovoran je za obradu svih dolaznih zahtjeva. Za razliku od PHP aplikacija koje stvaraju novi postupak za svaki novi dolazni zahtjev.

Nadam se da je ovaj uvod bio dovoljan da vas motivira za Node.js. Znajmo želite li detaljnije vodiče o sličnim temama prateći nas na Twitteru, Facebooku i YouTubeu.

Besplatni i otvoreni kodni pokretački programi za razvoj Linux igara
Ovaj će članak pokriti popis besplatnih i open source pokretačkih igara koje se mogu koristiti za razvoj 2D i 3D igara na Linuxu. Brojni su takvi moto...
Vodič za Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider dvanaesti je dodatak seriji Tomb Raider - franšizi u akcijsko-avanturističkoj igri koju je stvorio Eidos Montreal. I kritiča...
Kako pojačati FPS u Linuxu?
FPS je kratica Okviri u sekundi. Zadatak FPS-a je mjerenje broja sličica u reprodukcijama video zapisa ili igranim izvedbama. Jednostavnim riječima, b...