08/03/2023

Uvod u Node.js, sve što trebate znati za uspešan početak

Šta je to Node.js? Pre nego što odgovorimo na ovo pitanje, bolje je da prvo kažemo šta nije. Node.js nije poboljšani JavaScript programski jezik, niti je framework - radni okvir za JavaScript programere. Node.js je u kratkim crtama rečeno; platforma za razvoj veb aplikacija, aplikacijski servera, bilo koje vrste mrežnog servera ili klijenta i za opšte namene, razvojno okruženje koje je bazirano na JavaScript-u koji se izvršava na strani servera i platforma koja je baziran na asinhronim događajima. Kad kažemo platforma mislimo na mnogo više od platforme, mislimo na cross-platform što nema ekvivalentan prevod na Srpskom jeziku, ali znači da Node.js radi na različitim operativnim sistemima poput Windows-aMacOS, Linux-a i drugih. To je platforma open-source – otvorenog koda; naravno besplatna pod MIT licencom. To je platforma koja nije framework - radni okvir; radni okviri su samo deo ove platforme kao npr. Express.js. Vi sa Node.js kreirate visoko skalabilne i visoko performantne veb aplikacije. To je omotač oko Chrome mehanizma pregledača V8. Sa Node.js, vi jednostavno možete praviti desktop GUI aplikacije u JavaScript programskom jeziku. Osnova na kojoj su kreirani Visual Studio Code, Atom, Postman itd. je upravo Node.js. On je itekako popularan za razvoj mikro servera i u svetu loT- Internet of things – internet stvari. Prosto je neverovatno koliku moć ima ova platforma, koju kompleksnost ona pojednostavljuje i šta sve možete da uradite sa njom; da ja prosto ne znam ni kako bi to sve u kratkim crtama objasnio nekom početniku u programiranju. Node.js je inače namenjen iskusnim programerima koji odlično znaju da kodiraju aplikacije, da znaju da razvijaju veb aplikacije i da poznaju JavaScript programski jezik. Ali nema potrebe da vas sve to obeshrabri, samo ćete morati mnogo više da zasučete rukave nego što bi ste to radili kad učite JavaScript programski jezik. Čak iako znate JavaScript programski jezik to ne znači da u Node.js možete u potpunosti koristiti sve komande JavaScript programskog jezika. Npr. ovo jednostavno neće raditi u Node.js:

document.getElementById('');

Jednostavno u Node.js nije ugrađen HTML DOM. Ne možete koristiti objekte document ili window. Umesto ove linije koda bi ste koristili PuppeteerNode.js biblioteku koja vam pruža API visokog nivoa. Ali, da sada ne komplikujemo, Node.js nije takođe novi programski jezik; on koristi JavaScript programski jezik ali neke stvari radi drugačije.


( Node.js je cross-platform, razvojno okruženje bazirano na JavaScript-u ) 

Ako se vratimo unazad, još 1995 godine pod kodnim imenom Moka, pojavio se novi programski jezik LiveScript. Ali zbog popularnosti Java programskog jezika preimenovan je u JavaScript. Tačno 27 maja 2009 godine izašao je Node.jsJava programski jezik ima moto Write once, run anywhere! - Piši jednom, pokreni bilo gde! I sad Node.js ima moto JavaScript for everything! - JavaScript za sve!. Očigledno je da oba programska jezika ima tendenciju da mogu da se koriste svugde. Node.js je to omogućio da JavaScript prevaziđe neka ograničenja Java programskog jezika na taj način da vi možete koristiti i Java programski jezik u Node.js. Da li sad razumete o kakvim mogućnostima Node.js mi ovde govorimo. Još 2009 godineNode.js je bukvalno dao krila JavaScript programskom jeziku, tako da se od tada JavaScript može izvršavati na strani servera i van okvira bilo kog pretraživača, što nije slučaj sa samim JavaScript programskim jezikom. Node.js je izuzetno popularan izbor za kreiranje i razvijanje alatki komandne linije koji se koriste u izradi softvera. Babel se često koristi za prenos modernog ES-2016 koda za pokretanje starog koda za pregled na starim pregledačima. Node.js vam omogućava jednostavno testiranje veb korisničkog interfejsa. Biblioteka Puppetter omogućava kontrolu nad headless – bezglavom Chrome instancom veb pregledača. ElectronNW.js su radni okviri za razvoj desktop aplikacija i to na WindowsMacOSLinux operativnim sistemima. Aplikacije koriste HTML5, CSS3JavaScript i radne okvire poput Bootstrap, React, Vue.js ili AngularJS. Sa Node.js možete da kreirate i mobilne aplikacije. Ali obratite pažnju da Appel-ova App Store pravila ne dozvoljavaju JIT mogućnosti. Što se tiče IoT – Internet of Things – internet stvariNode.js funkcioniše na većini računara koje podržavaju ARM.

U čemu je prednost Node.js-a?

Node.js jednostavno ima sistem koji koristi i koji ima samo jednu programsku nit. To jednostavno znači da server nema složenost višenitnih sistema. Jednostavno, Node.js odgovara na složenost. Kad se pozove asinhrona funkcija, kontrola se brzo prosleđuje petlji događaja umesto da izaziva blokiranje radnog okruženja. Ako kažemo programerskim jezikom da Node.js žonglira, to znači da Node.js zahvaljujući asinhronim zahtevima obavlja istovremeno više stvari. Rezultat svega toga je kad kreirate Node.js aplikaciju na spram drugih:

  • Dvaput brže se kreira aplikacija sa mnogo manje ljudi.
  • Aplikacija ima za trećinu manje koda.
  • Aplikacija ima manje za čak 40% fajlova.
  • Aplikacija reguliše dvaput brže zahteve u sekundi.
  • Aplikacija ima 35% brže vreme odziva.

Dodajte svemu tome primenu i popularnost JavaScript programskog jezika, visoku skabilnost i aginalni razvoj i prosto imate sve razloge da učite i koristite Node.js.

Kako da počnemo sa Node.js?

Da bi ste počeli sa učenjem ili nekim projektom u Node.js, prvo je neophodno da odete na Node.js zvaničnu stranicu; ovde; i instalirate Node.js platformu na vaš operativni sistem. Kako se to radi pogledajte video:


( Windows - 13. How to install Node.js ? )

Međutim, ako koristite Linux operativni sistem pogledajte ovaj video:


( Linux - 13. How to install Node.js ? )

Druga ni malo naivna stvar je izbor IDE- Integrated Development Environment – integrisano razvojno okruženja. Što se nas tiče mi ćemo da koristimo Visual Studio Code kao što to rade Node.js developeri, mada je izbor na vama. Pogledajte kako se instalira Visual Studio Code:


( Windows - 1. How to install Visual Studio Code & .Net Core ? )

Ukoliko koristite Linux operativni sistem, pogledajte sledeći video:


( Linux - 2. How to install Visual Studio Code and .NET Core ? )

Ako ste instalirali Visual Studio Code, neophodno je da mu dodamo neke ekstenzije koje ste videli u video-u. Pa da vidimo čemu služe: 

  • npm Intellisense – kad koristite require da importujete module, dobijete autocomplete ponašanje
  • ESLint – proverava i pronalazi sintaksne greške još dok kucate i omogućava vam da ih lakše uočite
  • Prettier – Code formatter – čini da vaš kod lepše izgleda
  • GitLens – Git supercharged – omogućava vam da bolje razumete vaš kod
  • JavaScript (ES6) code snippets – olakšava kucanje, kontroliše JavaScript sintaksu ali i TypeScript-a
  • DotENV – pomaže vam sa .env fajlovima
  • Better Comment – čini vaše komentare profesionalnije
  • YAML – ponekad ćete raditi sa .yml fajlovima, pomaže vam da budu validni
  • Code Spell Checker – pogrešno spelovanje na engleskom jeziku pravi greške, rešava spelovanje
  • Vscode-icons – hoćemo što bolje, prijatnije ali i lepše integrisano razvojno okruženje

Naravno u zavisnosti za šta sve upotrebljavate Node.js možete kasnije dodavati i druge ekstenzije. Imajte u vidu da ne valja preterivati. Kad vam neka ekstenzija pravi greške jednostavno je deinstalirate.

Prvi program u Node.js

Ako ste sve prethodno odradili umesto jedne linije koda da kažete Hello World u terminalu; pogledajte kako se kreira server koji kaže Hello World. Otvorite direktorijum nodejs_tutorial ali ga prethodno kreirajte preko Open dialog-a gde god vi hoćete na vašem računaru. Zatim dodajte novi fajl lesson1.js. Da to jeste JavaScript fajl. Samo prekucajte sledeći kod u njega: 

const http = require('http');

 

const hostname = '127.0.0.1';

const port = 3000;

 

const server = http.createServer((req, res) => {

    res.statusCode = 200;

    res.setHeader('Content-Type', 'text/plain');

    res.end('Hello World');

});

 

server.listen(port, hostname, () => {

    console.log(`Server running at http://${hostname}:${port}/`);

});

Otvorite terminal u Visual Studio Code i otkucajte:

node lesson1.js

U terminalu će se ispisati:

Server running at http://127.0.0.1:3000/ 

Pritisnite i držite CTRL i kliknite na link. Otvoriće vam se pregledač i videćete rezultat 

Hello World



 

 

 

 

  

Nema komentara:

Objavi komentar