Et http rollespill

Kanskje kan man forklare større barn hvordan web’en virker med en enkel webserver og et lite rollespill?

Ide til enkelt lite rollespill med tre personer
Man spiller ut et scenario der man gjør en forespørsel til en server og får et svar med en statuskode. Man spiller det som et rollespill, og så programmerer man det, i den rekkefølgen man selv ønsker.

Vi trenger tre personer, Kristian, Trine og Truls. Kristian er webserveren. Trine er henvendelser fra din browser til serveren og Truls er beskjeden tilbake. I første omgang sender browseren bare Trine over til Kristian og sier hei, Kristian hiver Trine (oops, tenkte ikke på det, men de lever ikke så lenge, stakkars) og henter frem Truls. Han skriver 200 i pannen på ham, for å si at alt er ok, og sender tilbake en beskjed. Det kan man spille med lapper og noen personer, men også vise hvordan det ser ut i konsollet på browseren. Der heter det naturligvis request og response, men såpass får vi tåle av metaforer som bryter sammen i møtet med virkeligheten.

Du trenger

For å få dette til å virke trenger man en Dropbox konto som er satt opp og installert på PCn man jobber på og en konto i Windows Azure. Dropbox brukes bare til å laste opp kode til serveren. Begge deler er gratis. Det morsomme med å bruke Azure er at det da virker på ordentlig, som de sier: My {Hello World} app can handle 1.000.000.000 users requests. Du må vel strengt tatt oppgradere kontoen din og betale hvis du får så mye trafikk, men teknisk sett skal det fungere. Det er altså ikke på tull, eksempelet ditt virker på mobilen til kompisen din. Dropbox er vel strengt tatt leketøy-deployment, men det er lettere enn å lære bort git, så det får duge. Det gjør at vi lett kan endre filene og teste ut forskjellige ting og få det ut på det store internettet uten mye om og men.

http://www.windowsazure.com

http://www.dropbox.com/

Hvordan?

Vi mangler en gist-plugin på kidsakoder-bloggen, så gå hit for å finne koden https://gist.github.com/bjartwolf/5202606

[youtube http://www.youtube.com/watch?v=Y4s73AJtX7Q&w=640&h=480]

En god idé?

Det vet jeg ikke. Dette er en ide jeg er utrolig usikker på om vil fungere. Jeg har en ide jeg har langt mer tro på som kommer i en senere blogpost, som vi også skal teste ut på en skole, men la oss begynne med denne litt mer spesielle. Det kule med teknologien som er valgt her, node.js, er at det er ganske høynivå, samtidig som man har ganske rå tilgang på systemet. Det egner seg derfor til å leke med hardware også. Og siden det bare er javascript, så det er lett å gjøre ting med samme språk i konsollet på en browser, som jo alle har tilgjengelig.

Selv tror jeg nok ikke dette er det første man bør gjøre, det er nok ikke oppgaven som skaper mest entusiasme. Likevel tror jeg nok at det kan være egnet for undervisning. Alle bruker jo browseren, og noen må vel lure på hvordan disse tingene henger sammen. Oppgaven kan jo fint utvides når man er i gang til å lage litt større sider ved hjelp av andre moduler til node.js som er enkle å installere.

Så – vi får bare teste det ut på noen ekte brukere og høre hva de har å si!

0 replies

Legg igjen et svar

Want to join the discussion?
Feel free to contribute!

Legg igjen en kommentar