Software, Systemudvikling og systemer, Hardware

Programmér webserveren med Javascript

Node.js er et nyt webmiljø, som bygger på Javascript og Google Chromes V8-motor. Den gør det nemt at komme tæt på webbets programmeringsmodel på serversiden.

I virksomheden E-conomic, der producerer regnskabssoftware som service, er udvikler Allan Ebdrup en glad mand på denne herlige solskinsdag i marts. Han har lige løst en opgave, som var sat til en uges arbejde, på en enkelt dag. Det skyldes ikke mindst det Javascript-baserede webmiljø Node.js, som sammen med databasen MongoDB har gjort det nemmere for Allan Ebdrup og hans kolleger at udvikle en ny programmeringsflade (API) til det succesfulde økonomisystem:

– Med Node.js er du nede ved metallet. Den har næsten ikke noget framework. Det er ufatteligt velegnet til det, som vi gør, nemlig at bygge et API. Specielt når det snakker JSON, som jo er en delmængde af Javascript-sproget.

Fri for frameworks

Node.js kom til verden i 2009 og ligger lunt i svinget til at blive den næste hypede dille inden for webudvikling. Systemet bygger på den dansk-udviklede Javascript-motor V8, som ligger til grund for Googles browser Chrome. Det benyttes blandt andre af LinkedIn's mobile applikationer. Yahoo er et andet firma, som er meget interesseret i teknologien.

Javascript på serveren er ikke nogen ny ide. Microsofts ASP-miljø (før .Net) gjorde det også muligt at kode med websproget, men Node.js adskiller sig fra mange andre webmiljøer ved ikke at benytte et stort, tungt framework, som man så at sige skal programmere sig ind i.

Det betyder dog ikke, at man er tvunget til at genopfinde hjulet hele tiden. Node.js har et letvægts-framework med navnet Express, som kan hjælpe til.

Asynkron kode

Node.js benytter en asynkron programmeringsmodel. Det vil sige, at alle tidkrævende opgaver udføres ved at give en funktion, som skal udføres på resultatet, når en opgave er færdig. Den samme model bruges i mange af de nye Javascript-funktioner i HTML5 og kendes også fra andre sprog, hvor man ikke har mulighed for at sætte selvstændige tråde i verden. Ifølge folkene bag Node.js giver det bedre ydelse, da en tråd ikke skal sidde stille og vente på et svar fra for eksempel en database. Påstanden er dog ikke universelt anerkendt, men Allan Ebdrup fra E-conomic fremhæver, at ydelsen er god, som han oplever det.

– Node.js performer helt vildt flot og bruger ufattelig lidt hukommelse.
Og først og fremmest er udviklingshastigheden hurtigere end det .Net-baserede miljø, som E-conomic benytter til daglig.

Der er endnu tale om et eksperimentelt pilotprojekt, men de første erfaringer tegner lovende.

– Man kunne skifte den gamle backend ud med Node.js og Mongo i en fart. Om mandagen kunne jeg undervise de andre i Node og Mongo, og så var vi færdige  halvanden uge efter.