Udvikling af en enkelt web applikation kræver typisk to eller flere forskellige programmeringssprog. For eksempel kan en typisk webapplikation køre PHP script på en Apache webserver og JavaScript på en brugers pc. Dette gør software udvikling og debugging processer mere kompleks og udsat for fejl . Mens flere virksomheder har i de seneste udviklede versioner af JavaScript kører på en webserver , var udgivelsen af Googles " V8 " JavaScript -motor, der har fornyet interesse i et server-side version af JavaScript. Node.js inkorporerer " V8 ", og giver ikke kun en almindelig client- og server -side sprog, men leverer også betydelige forbedringer i hastighed end de nuværende client - side sprog , der kører på Apache . Client - side scripting
JavaScript er overvejende en client- side scripting sprog, fordi det udfører sin kode på klienten eller brugers , computer. Hele scriptet er indlæst eller cached i hukommelsen på klient-pc'en og fortolket af browseren , som indeholder en JavaScript-motor . Fordi det er bosat i hukommelsen, kan klientsiden JavaScript samme vil tjekke værdierne på en form og kan manipulere indholdet af en skærm " on-the -fly" uden at skulle dirigere resultater tilbage til en Apache webserver . Dog kan client- side kode læses og endda ændret af en bruger på klient-pc'en .
Server-side scripting
En server - side scripting sprog udfører sit kode på en webserver. For eksempel er PHP et populært scripting sprog, der oftest gennemføres på en Apache webserver . Mens server side sprog, der ikke kan ændre indholdet af skærme uden at sende data tilbage til webserveren , kan de interagerer med ressourcer på webserveren , såsom en database , til at generere dynamiske sider baseret på scripted kode. Server -side kode er også beskyttet af webserveren , hvilket kun vil udføre det. Ved korrekt konfigureret, vil en Apache -server aldrig sende rå PHP kode til en klient maskine.
Ulempe forskellige sprog
Softwareudvikling ville være lettere , hvis der var ét fælles sprog for client-side og server -side opgaver. I dag er de forskellige scriptsprog giver forskellige resultater for , hvad der synes at være identiske funktioner. For eksempel, når du forespørger om det aktuelle tidspunkt i forhold til 1 januar 1970 i PHP funktionen returnerer antallet af sekunder. Den samme forespørgsel i JavaScript returnerer antallet af millisekunder. En programmør har brug for at vide dette og justere enten JavaScript eller PHP resultat , når de forsøger at sammenligne værdier på tværs af sprog. Programmører, der arbejder på hold, har brug for at blive enige om en standard for at konvertere værdier mellem sprogene . Der er mange eksempler på disse former for uoverensstemmelser , der gør at skabe og debugging applikationer, der bruger både klient -side og server -side kode, langt mere vanskeligt og tidskrævende .
JavaScript " V8 "
Salg
Flere virksomheder har udviklet server-side versioner af JavaScript i et forsøg på at gøre det muligt for programmører at bruge et enkelt sprog , når de udvikler applikationer. Aptana udviklede Jaxster baseret på Mozilla Gecko engine, der FireFox . Microsoft indarbejdet JavaScript i sin ASP sprog . Men når Google udgivet sin Chrome webbrowser, det afsløret en JavaScript-motor kaldet " V8 " , der er ekstremt hurtig og relativt let at inkorporere i andre applikationer . Dette har ført til udviklingen af server-side JavaScript , der ikke kun giver en ensartet sprog på tværs af klient og server , men også giver betydeligt bedre resultater end de nuværende server -side sprog. For eksempel er Node.js fra Joyent en event -driven server-side JavaScript for Apache , der vinder i popularitet .