Node.js vodič za početnike: naučite korak po korak u 3 dana
Uvod u Node.js
Moderna web aplikacija doista je napredovala tijekom godina uvođenjem mnogih popularnih okvira kao što su bootstrap, Angular JS, itd. Svi ovi okviri temelje se na popularnom JavaScript okvir.
Ali kada je u pitanju razvoj aplikacija temeljenih na poslužitelju, postojala je svojevrsna praznina, a tu je Node.js ušao na scenu.
Node.js se također temelji na JavaOkvir skripte, ali se koristi za razvoj aplikacija temeljenih na poslužitelju. Dok prolazimo kroz cijeli tutorial, detaljno ćemo pogledati Node.js i kako ga možemo koristiti za razvoj aplikacija temeljenih na poslužitelju.
Nastavni plan i program Node.js
Osnove Node.js za početnike
👍 Lessna 1 | Preuzmite i instalirajte Node.js — Kako preuzeti i instalirati Node.js i NPM na Window |
👍 Lessna 2 | Node.js NPM vodič — Stvorite, objavite, proširite i upravljajte |
👍 Lessna 3 | Stvorite HTTP web poslužitelj u Node.js — Vodič s primjerom koda |
Node.js Napredne stvari!
👍 Lessna 1 | Vodič za Node.js Express FrameWork — Naučite u 10 minuta |
👍 Lessna 2 | Node.js MongoDB Tutorijal — Potpuni vodič s primjerima |
👍 Lessna 3 | Vodič za obećanje Node.js — Potpuni vodič za JavaSkripta obećava |
👍 Lessna 4 | Bluebird obećava vodič — Potpuni vodič kroz Bluebird Promises |
👍 Lessna 5 | Node.js Generators — Što je, povratni pozivi protiv Node.js Generators |
👍 Lessna 6 | Node js Streams Vodič — Filestream, Cijevi |
👍 Lessna 7 | Vodič za testiranje jedinica Node.js s Jasmine — Kompletan vodič |
👍 Lessna 8 | GraphQL vodič — Što je GraphQL? Učite s primjerom |
Upoznajte razliku!
👍 Lessna 1 | GraphQL vs REST - Koja je razlika? |
👍 Lessna 2 | Node.Js protiv AngularJS — Upoznajte razliku |
👍 Lessna 3 | Node.js vs Python - Koja je razlika? |
Node.js Pitanja za intervjue i vodič PDF
👍 Lessna 1 | Pitanja za intervju za Node.js — Top 25 Node.js pitanja i odgovora za intervju |
👍 Lessna 2 | PDF vodič za Node.js — Preuzmite Node.js Tutorial PDF za početnike |
Što je Node.js?
Node.js je open-source, cross-platform runtime okruženje koje se koristi za razvoj web aplikacija na strani poslužitelja. Node.js aplikacije su napisane u JavaSkripta i može se pokrenuti na velikom broju operativnih sustava.
Node.js temelji se na arhitekturi vođenoj događajima i neblokirajućem Input/Output API-ju koji je dizajniran za optimizaciju propusnosti i skalabilnosti aplikacije za web aplikacije u stvarnom vremenu.
Tijekom dugog vremenskog razdoblja, svi okviri dostupni za web razvoj temeljili su se na modelu bez stanja. Model bez statusa je gdje se podaci generirani u jednoj sesiji (kao što su informacije o korisničkim postavkama i događajima koji su se dogodili) ne održavaju za korištenje u sljedećoj sesiji s tim korisnikom.
Moralo se uložiti puno posla kako bi se održale informacije o sesiji između zahtjeva za korisnika. Ali s Node.js, konačno postoji način da web aplikacije imaju dvosmjerne veze u stvarnom vremenu, gdje i klijent i poslužitelj mogu inicirati komunikaciju, dopuštajući im slobodnu razmjenu podataka.
Zašto koristiti Node.js?
Pogledat ćemo stvarnu vrijednost Node.js-a u nadolazećim poglavljima, ali što je to što ovaj okvir čini toliko poznatim. Tijekom godina većina se aplikacija temeljila na okviru zahtjeva-odgovora bez stanja. U ovakvim aplikacijama, na razvojnom je programeru da osigura da je postavljen pravi kod kako bi se osiguralo održavanje stanja web sesije dok korisnik radi sa sustavom.
Ali s Node.js web aplikacijama sada možete raditi u stvarnom vremenu i imati dvosmjernu komunikaciju. Stanje se održava i klijent ili poslužitelj mogu započeti komunikaciju.
Značajke Node.js
Pogledajmo neke od ključnih značajki Node.js
- Asinkroni IO vođen događajima pomaže pri istovremenom rukovanju zahtjevima – ovo je vjerojatno najznačajnija prodajna točka Node.js. Ova značajka u osnovi znači da ako Node primi zahtjev za neku ulazno/izlaznu operaciju, izvršit će operaciju u pozadini i nastaviti s obradom drugih zahtjeva.
Ovo se dosta razlikuje od drugih programskih jezika. Jednostavan primjer toga dan je u donjem kodu
var fs = require('fs'); fs.readFile("Sample.txt",function(error,data) { console.log("Reading Data completed"); });
- Gornji isječak koda gleda na čitanje datoteke pod nazivom Sample.txt. U drugim programskim jezicima sljedeći bi se redak obrade dogodio tek nakon što se pročita cijela datoteka.
- Ali u slučaju Node.js važan dio koda koji treba primijetiti je deklaracija funkcije ('function(error,data)'). Ovo je poznato kao funkcija povratnog poziva.
- Ono što se ovdje događa jest da će operacija čitanja datoteke započeti u pozadini. I druge obrade mogu se odvijati istovremeno dok se datoteka čita. Nakon što je operacija čitanja datoteke dovršena, ova će se anonimna funkcija pozvati, a tekst "Čitanje podataka dovršeno" bit će zapisan u dnevnik konzole.
- Čvor koristi V8 JavaScript Runtime engine, onaj koji koristi Google Chrome. Čvor ima omot preko JavaSkriptni mehanizam koji čini radni mehanizam puno bržim, a time i obrada zahtjeva unutar Node također postaje brža.
- Rukovanje istodobnim zahtjevima – Još jedna ključna funkcionalnost Nodea je mogućnost rukovanja istodobnim vezama uz vrlo minimalno opterećenje za jedan proces.
- Knjižnica Node.js koristi JavaSkripta – Ovo je još jedan važan aspekt razvoja u Node.js. Veliki dio razvojne zajednice već je dobro upućen u javascript, pa stoga razvoj u Node.js postaje lakši za programere koji poznaju javascript.
- Postoji aktivna i živahna zajednica za okvir Node.js. Zbog aktivne zajednice uvijek postoje ažuriranja ključeva koja su dostupna okviru. To pomaže da okvir uvijek bude u tijeku s najnovijim trendovima u web razvoju.
Tko koristi Node.js
Node.js koriste mnoge velike tvrtke. Dolje je popis nekoliko njih.
- Paypal – mnoge stranice unutar Paypala također su započele prijelaz na Node.js.
- LinkedIn – LinkedIn koristi Node.js za napajanje svojih Mobilni Poslužitelji koji pokreću iPhone, Androidi Mobile Web proizvodi.
- Mozilla je implementirala Node.js za podršku API-ja preglednika koji ima pola milijarde instaliranja.
- eBay ugošćuje svoju HTTP API uslugu u Node.js
Kada koristiti Node.js
Node.js je najbolji za korištenje u streamingu ili aplikacijama u stvarnom vremenu koje se temelje na događajima kao što je
- Aplikacije za chat
- Poslužitelji za igre – brzi i visokoučinkoviti poslužitelji koji trebaju obrađivati tisuće zahtjeva odjednom, onda je ovo idealan okvir.
- Dobro za okruženje za suradnju – ovo je dobro za okruženja koja upravljaju dokumentima. U okruženju za upravljanje dokumentima imat ćete više ljudi koji objavljuju svoje dokumente i vrše stalne promjene odjavom i prijavom dokumenata. Dakle, Node.js je dobar za ova okruženja jer se petlja događaja u Node.js može pokrenuti kad god se dokumenti promijene u okruženju kojim se upravlja dokumentima.
- Poslužitelji za oglašavanje – Opet ovdje možete imati tisuće zahtjeva za povlačenjem oglasa sa središnjeg poslužitelja, a Node.js može biti idealan okvir za rješavanje toga.
- Streaming serveri – Još jedan idealan scenarij za korištenje Nodea je za multimedijske streaming servere pri čemu klijenti imaju zahtjev za povlačenjem različitih multimedijskih sadržaja s ovog poslužitelja.
Node.js je dobar kada trebate visoku razinu konkurentnosti, ali manje posvećenog CPU vremena.
Najbolje od svega, budući da je Node.js izgrađen na javascriptu, najprikladniji je kada gradite aplikacije na strani klijenta koje se temelje na istom okviru javascripta.
Kada ne koristiti Node.js
Node.js se može koristiti za mnoge aplikacije s različitim namjenama. Jedini scenarij u kojem se ne bi trebao koristiti je tamo gdje postoji dugo vrijeme obrade, što zahtijeva aplikacija.
Čvor je strukturiran tako da bude jednonitni. Ako je od aplikacije potrebno izvršiti neke dugotrajne izračune u pozadini, ona neće moći obraditi druge zahtjeve. Kao što je gore objašnjeno, Node.js se najbolje koristi tamo gdje obrada zahtijeva manje posvećenog CPU vremena.