Node.js-vejledning for begyndere

Introduktion til Node.js

Den moderne webapplikation er virkelig kommet langt gennem รฅrene med introduktionen af โ€‹โ€‹mange populรฆre frameworks som bootstrap, Angular JS osv. Alle disse frameworks er baseret pรฅ de populรฆre frameworks. JavaScript rammer.

Men nรฅr det kom til at udvikle serverbaserede applikationer, var der en slags tomrum, og det var her Node.js kom ind i billedet.

Node.js er ogsรฅ baseret pรฅ JavaScript framework, men det bruges til at udvikle serverbaserede applikationer. Mens vi gennemgรฅr hele selvstudiet, vil vi se nรฆrmere pรฅ Node.js, og hvordan vi kan bruge det til at udvikle serverbaserede applikationer.

๐Ÿ‘‰ Download Node.js-vejledningen i PDF-format

Node.js Pensum

Node.js Basics for begyndere

๐Ÿ‘ Lesspรฅ 1 Download og installer Node.js โ€” Sรฅdan downloades og installeres Node.js og NPM pรฅ vinduet
๐Ÿ‘ Lesspรฅ 2 Node.js NPM Tutorial โ€” Opret, udgiv, udvid og administrer
๐Ÿ‘ Lesspรฅ 3 Opret HTTP-webserver i Node.js โ€” Tutorial med kodeeksempel

Node.js Advance Stuff!

๐Ÿ‘ Lesspรฅ 1 Node.js Express FrameWork Tutorial - Lรฆr pรฅ 10 minutter
๐Ÿ‘ Lesspรฅ 2 node.js MongoDB tutorial โ€” En fuldstรฆndig Vejledning med Eksempler
๐Ÿ‘ Lesspรฅ 3 Node.js Promise Tutorial โ€” En komplet vejledning til JavaManuskriptlรธfter
๐Ÿ‘ Lesspรฅ 4 Bluebird Promises Tutorial โ€” En komplet guide til blรฅfuglelรธfterne
๐Ÿ‘ Lesspรฅ 5 node.js Generators โ€” Hvad er tilbagekald vs. Node.js Generators
๐Ÿ‘ Lesspรฅ 6 Node js streams tutorial โ€” Filstrรธm, Rรธr
๐Ÿ‘ Lesspรฅ 7 Node.js Unit Testing Tutorial med Jasmine โ€” En komplet Vejledning
๐Ÿ‘ Lesspรฅ 8 GraphQL tutorial โ€” Hvad er GraphQL? Lรฆr med eksempel

Kend forskellen!

๐Ÿ‘ Lesspรฅ 1 GraphQL vs REST - Hvad er forskellen?
๐Ÿ‘ Lesspรฅ 2 Node.Js vs AngularJS โ€” Kend forskellen
๐Ÿ‘ Lesspรฅ 3 Node.js vs Python - Hvad er forskellen?

Node.js Interviewspรธrgsmรฅl og selvstudie PDF

๐Ÿ‘ Lesspรฅ 1 Node.js interviewspรธrgsmรฅl โ€” Top 25 Node.js-interviewspรธrgsmรฅl og -svar

Hvad er Node.js?

Node.js er et open source, cross-platform runtime-miljรธ, der bruges til udvikling af server-side webapplikationer. Node.js-applikationer er skrevet ind JavaScript og kan kรธres pรฅ en bred vifte af operativsystemer.

Node.js er baseret pรฅ en hรฆndelsesdrevet arkitektur og en ikke-blokerende Input/Output API, der er designet til at optimere en applikations gennemlรธb og skalerbarhed til webapplikationer i realtid.

Over en lang periode var rammerne til rรฅdighed for webudvikling alle baseret pรฅ en statslรธs model. En tilstandslรธs model er, hvor de data, der genereres i รฉn session (sรฅsom oplysninger om brugerindstillinger og hรฆndelser, der opstod) ikke vedligeholdes til brug i den nรฆste session med den pรฅgรฆldende bruger.

Der skulle gรธres meget arbejde for at vedligeholde sessionsinformationen mellem anmodninger om en bruger. Men med Node.js er der endelig en mรฅde, hvorpรฅ webapplikationer kan have tovejsforbindelser i realtid, hvor bรฅde klienten og serveren kan starte kommunikation, sรฅ de kan udveksle data frit.

Hvorfor bruge Node.js?

Vi vil se pรฅ den reelle vรฆrdi af Node.js i de kommende kapitler, men hvad er det, der gรธr denne ramme sรฅ berรธmt. I รฅrenes lรธb var de fleste af ansรธgningerne baseret pรฅ en statslรธs request-response-ramme. I denne slags applikationer er det op til udvikleren at sikre, at den rigtige kode blev sat pรฅ plads for at sikre, at websessionens tilstand blev opretholdt, mens brugeren arbejdede med systemet.

Men med Node.js webapplikationer kan du nu arbejde i realtid og have en 2-vejs kommunikation. Tilstanden opretholdes, og enten klienten eller serveren kan starte kommunikationen.

Funktioner i Node.js

Lad os se pรฅ nogle af nรธglefunktionerne i Node.js

  1. Asynkron hรฆndelsesdrevet IO hjรฆlper med samtidig hรฅndtering af anmodninger โ€“ Dette er nok det vigtigste salgsargument for Node.js. Denne funktion betyder grundlรฆggende, at hvis en anmodning modtages af Node for en input/output-operation, vil den udfรธre handlingen i baggrunden og fortsรฆtte med at behandle andre anmodninger.
    Dette er meget anderledes end andre programmeringssprog. Et simpelt eksempel pรฅ dette er givet i koden nedenfor
var fs = require('fs'); 
          fs.readFile("Sample.txt",function(error,data)
          {
                console.log("Reading Data completed");
     });
  • Ovenstรฅende kodestykke ser pรฅ at lรฆse en fil kaldet Sample.txt. I andre programmeringssprog vil den nรฆste behandlingslinje kun ske, nรฅr hele filen er lรฆst.
  • Men i tilfรฆldet med Node.js er den vigtige brรธkdel af kode at bemรฆrke erklรฆringen af โ€‹โ€‹funktionen ('funktion(fejl,data)'). Dette er kendt som en tilbagekaldsfunktion.
  • Sรฅ hvad der sker her er, at fillรฆsningsoperationen starter i baggrunden. Og anden behandling kan ske samtidigt, mens filen lรฆses. Nรฅr fillรฆsningsoperationen er afsluttet, vil denne anonyme funktion blive kaldt, og teksten "Lรฆsning af data fuldfรธrt" vil blive skrevet til konsolloggen.
  1. Node bruger V8 JavaScript Runtime-motor, den som bruges af Google Chrome. Node har en indpakning over JavaScript-motor, som gรธr runtime-motoren meget hurtigere, og derfor bliver behandlingen af โ€‹โ€‹anmodninger i Node ogsรฅ hurtigere.
  2. Hรฅndtering af samtidige anmodninger โ€“ En anden nรธglefunktionalitet i Node er evnen til at hรฅndtere samtidige forbindelser med en meget minimal overhead pรฅ en enkelt proces.
  3. Node.js-biblioteket bruger JavaScript โ€“ Dette er et andet vigtigt aspekt af udviklingen i Node.js. En stor del af udviklingsfรฆllesskabet er allerede velbevandret i javascript, og derfor bliver udvikling i Node.js lettere for en udvikler, der kender javascript.
  4. Der er et aktivt og levende fรฆllesskab for Node.js-rammen. Pรฅ grund af det aktive fรฆllesskab er der altid nรธgleopdateringer, der er tilgรฆngelige for rammen. Dette er med til at holde rammerne altid up-to-date med de nyeste trends inden for webudvikling.

Hvem bruger Node.js

Node.js bruges af mange store virksomheder. Nedenfor er en liste over et par af dem.

  • Paypal โ€“ Mange websteder i Paypal har ogsรฅ startet overgangen til Node.js.
  • LinkedIn โ€“ LinkedIn bruger Node.js til at drive deres Mobil Servere, der driver iPhone, Androidog mobilwebprodukter.
  • Mozilla har implementeret Node.js for at understรธtte browser API'er, som har en halv milliard installationer.
  • eBay hoster deres HTTP API-tjeneste i Node.js

Hvornรฅr skal du bruge Node.js

Node.js er bedst til brug i streaming eller begivenhedsbaserede realtidsapplikationer som

  1. Chatapplikationer
  2. Spilservere โ€“ Hurtige og hรธjtydende servere, der skal behandle tusindvis af anmodninger ad gangen, sรฅ er dette en ideel ramme.
  3. Godt til samarbejdsmiljรธ - Dette er godt for miljรธer, der administrerer dokumenter. I et dokumenthรฅndteringsmiljรธ vil du have flere personer, der poster deres dokumenter og foretager konstante รฆndringer ved at tjekke ud og tjekke dokumenter ind. Sรฅ Node.js er godt for disse miljรธer, fordi hรฆndelseslรธkken i Node.js kan udlรธses, hver gang dokumenter รฆndres i et dokumentadministreret miljรธ.
  4. Annonceservere โ€“ Her kan du igen have tusindvis af anmodninger om at trรฆkke annoncer fra den centrale server, og Node.js kan vรฆre en ideel ramme til at hรฅndtere dette.
  5. Streamingservere โ€“ Et andet ideelt scenarie at bruge Node er til multimediestreamingservere, hvor klienter har anmodninger om at trรฆkke forskelligt multimedieindhold fra denne server.

Node.js er godt, nรฅr du har brug for hรธje niveauer af samtidighed, men mindre mรฆngde dedikeret CPU-tid.

Fรธrst og fremmest, da Node.js er bygget pรฅ javascript, er det bedst egnet, nรฅr du bygger klientside-applikationer, som er baseret pรฅ det samme javascript-framework.

Hvornรฅr skal du ikke bruge Node.js

Node.js kan bruges til mange applikationer med forskellige formรฅl. Det eneste scenarie, hvor det ikke bรธr bruges, er, hvor der er lange behandlingstider, hvilket krรฆves af applikationen.

Node er struktureret til at vรฆre enkelt-trรฅdet. Hvis en applikation skal udfรธre nogle langvarige beregninger i baggrunden, vil den ikke vรฆre i stand til at behandle andre anmodninger. Som diskuteret ovenfor, bruges Node.js bedst, hvor behandling krรฆver mindre dedikeret CPU-tid.

Opsummer dette indlรฆg med: