1 node.js

Hvis du er kommet til dette indlæg, har du formentlig prøvet at eksperimentere med p5.js og javascript kode i forskellige sammenhænge. Det du skal lære nu, er en metode som gør det muligt for flere personer at bruge dine sketches samtidigt. Altså flere personer kunne i princippet sidde forskellige steder i verden og tegne på den samme tegning via deres browser.

Det kunne for eksempel bruges til…

  • At lave spil med samtidighed
  • At skrive/tegne/spille musik sammen
  • At styre devices/lys/robotter fra et andet sted

Etc.. Samtidighed og kommunikation via Internettet er på mange måder netop Internettets fineste egenskab.

[otw_shortcode_info_box border_type=”bordered” border_style=”bordered” shadow=”shadow-outer”]

Dette forløb bygger på et video-baseret forløb af Daniel Shiffman, professor ved NYU. Du kan følge min danske – tekstbaserede – udgave, eller den engelske ved at følge linket herunder. Your choice – men han er en fantastisk god formidler 🙂
Se introvideo her
Node: https://nodejs.org/en/
Socket.io: http://socket.io/
Express: http://expressjs.com/

[/otw_shortcode_info_box]

Sockets

Vi vil have to computere – eller flere – til at tale med hinanden. Og det kan lade sig gøre på grund af internettet. De gør det gennem et mødepunkt – en server. På serveren kører der en service – her kaldet node.js – som sørger for at computerne i netværket kan oprette forbindelser – sockets – til hinanden. Du lærer faktisk at skrive koden til serveren selv – og at køre den på din egen computer. Når du er færdig med disse fire lektioner har du en webserver på din lokale maskine – som du kan tilgå med flere forskellige browservinduer – som taler sammen via sockets. Det er da rimelig cool ikke? Lad os gå i gang…

Kan jeg gøre det selv?

Du kan få din egen maskine til at agere webserver ved at installere node.js på den. Bagefter kan du skabe elle mulige programmer som taler til hinanden via sockets. Det første du skal gøre, er at downloade node.js.

I dette eksempel vil vi altså have vores egen maskine til BÅDE at være to forskellige programmer der taler til hinanden vha sockets OG webserver. I virkelige applikationer, vil det typisk være sjovere at fordele programmerne på forskellige maskiner, men først må vi have princippet til at virke.

Installér node.js

Hent og installer node.js herfra 

Bliv meget klogere på node.js her

Åbn Terminal (mac) eller Command (win)

Terminalvinduet eller kommandoprompten kan der siges meget om. Men lad os bare her sige, at det er et sted hvor du kan give din computer kommandoer direkte, en slags kontrolcenter. Som du kan se åbner terminalen i en eller anden hjemmemappe. Hvis du er på windows kunne den hedde noget med C:/windos/users/dig og på en mac noget lignende. Det er ikke så vigtigt – men det er vigtigt at du lige holder øje med hvor du er henne i filsystemet, når du bruger terminalvinduet.

Hvis du trykker ls [enter] ser du en filoversigt. Hvis du trykker open . [enter], åbner den mappe du står i. Hvis du trykker ctrl-c lukker du en proces, hvis du har åbnet en. Og meget mere.

Først og fremmest vil vi gerne se om node er installeret. Skriv derfor node [enter]. Nu skal du se en lille pil ud for cursoren. Og mærkeligt nok er terminalen nu, blevet til et sted hvor du kan skrive javascript. Du kan fx skrive…

etc.. Pointen er altså at du nu har startet programmet node, og du kan se at den forstår Javascript kommandoer.

(Forresten tast ctrl-c for at komme ud af node igen og tilbage i terminalvinduet).

Du er altså ude af node og tilbage i terminalen. Vi skal nu finde frem til den folder hvor vores projekt ligger. Tryk først cd (det betyder change directory på terminalsprog) og drag’n’drop så selve mappen med eksempelfilerne i over på terminalvinduet [enter].

Hent eksempelfilerne her

Du har nu navigeret dig frem til den mappe, hvori eksemplerne ligger. Vi kan tjekke hvad der er i den mappe, ved at trykke kommandoen “ls”. Så viser den, at de filer der ligger i mappen hedder index.hml og sketch.js.

Vi skal nu skrive vores egen webserver(!)

Opret en fil der hedder server.js og læg den i mappen med de andre to filer. Skriv sætningen..

console.log("Min socketserver er oppe og køre");

..i filen og gem den. Det er den nu ikke endnu (oppe at køre altså). Men vi kan teste at vi nu har node installeret og kan starte en proces, ved at gå tilbage i terminalen og taste

node server.js

– nu vil node så køre filen, og dermed printe “min socketserver er oppe og køre”

Dermed er første skridt på vejen til at blive en webninja aktiveret. Du har faktisk lavet en lille webserver – og den svarer når du spørger. Gå videre til næste lektion for at få den til at opføre sig lidt mere som en rigtig webserver – altså en computer som svarer på internettet, når en klient kommer og beder om at se et eller andet.

Leave a comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *