I fredags hade vi på Odd Hill vår månatliga utvecklardag, där vi försöker testa nya tekniker och lösningar som går helt utanför vårt vanliga verktyg, Drupal. Denna gång hade det blivit dags för något som jag som utvecklare såg extra mycket fram emot, en teknik som kallas Node.js!

Vanliga webbplatser fungerar på ett ganska primitivt sätt. Besökaren (du) skickar en förfrågan till en server (webbplatsen), som sedan utför viss programatisk logik för att skicka tillbaka ett svar, vilket blir webbplatsen som du ser i din webbläsare. Detta är grunden till hur internet har fungerat sedan dess födelse, och har förändrats ytterst lite.
Man kan sammafatta Node.js som en teknik som vill förändra grunden, genom att upprätta en tvåvägskommunikation mellan dig och servern. Det gör den genom att utnyttja Javascript, som alla någorlunda moderna webbläsare har idag.
Det enklaste exemplet vi kan använda oss av är en chat. Chattar har funnits ungefär lika länge som Spray och Passagen, men har fungerat på ett väldigt dåligt sätt. När du har skickat ett meddelande till en annan person, ser inte den personen det meddelandet förrän personen efterfrågar det. Det kunde ske genom till exempel en automatisk sidomladdning.
Med Node.js sker det hela på ett mer naturligt sätt. När du skickar meddelandet, skickas det till servern, precis som vanligt. I vanliga fall tar det stopp här, men nu blir istället mottagaren automatiskt informerad om att ett nytt meddelande har anlänt, och får det utskrivet i sin webbläsare. Det hela tar bara någon sekund, och kräver ingenting från mottagaren.
Just chatt är ett extremt tråkigt exempel, men det förklarar grundtanken väldigt bra.
Andra exempel, som förvisso kanske är lite oproduktiva, är WordSquared, ett spel som påminner om Alfapet, eller Driv.in, som är en slags social YouTube bio, där alla som är i samma rum tittar på samma YouTube video.
I fredags skrapade vi bara på ytan av denna teknik, och lyckades skapa en tabell över våra tennisresultat. Men vi ser fram emot utvecklingen av Node.js och det kan definitivt vara något för framtiden!

Det blir som vanligt lite tilltugg och mycket Drupal!












