Utveckla en enda webbapplikation normalt kräver två eller flera olika programmeringsspråk . Till exempel kan en typisk webbapplikation köra PHP-skript på en Apache webbserver och JavaScript på en användares dator . Detta gör mjukvaruutveckling och processer felsökning mer komplex och risk för fel . Medan flera företag har i de utvecklade tidigare versioner av JavaScript för att köras på en webbserver , det var lanseringen av Googles " V8 " JavaScript-motor som har förnyat intresse för en server - side version av JavaScript . Node.js inkorporerar " V8 " och ger inte bara en vanlig klient - och server - side språk , men också ger avsevärda förbättringar i snabbhet över nuvarande klientsidan språk som körs på Apache . Klientskript
JavaScript är främst en klient - side skriptspråk , eftersom det utför sin kod på klienten eller användarens , dator . Hela skriptet laddas eller cachas i minnet på klientdatorn och tolkas av webbläsaren , vilket innehåller en JavaScript-motor . Eftersom det är bosatt i minnet , kan klientsidan JavaScript kolla direkt värden i ett formulär och kan manipulera innehållet i en skärm " on- the-fly " utan att behöva dirigera resultat tillbaka till en Apache webbserver . Däremot kan kod på klientsidan läsas och även ändras av en användare på klientdatorn .
Server - side scripting
En server - side skriptspråk utför sitt kod på en webbserver. Till exempel , är PHP ett populärt skriptspråk som oftast genomförs på en Apache webbserver . Medan serversidan språk inte kan ändra innehållet i skärmarna utan att skicka data tillbaka till webbservern , kan de interagerar med resurser på webbservern , t.ex. en databas , för att generera dynamiska sidor som bygger på manus kod . Server - side kod skyddas också av webbservern , som endast kommer att utföra det . När rätt konfigurerad , kommer en Apache -server skickar aldrig rå PHP-kod till en klientdator .
Nackdel olika språk
Mjukvaruutveckling skulle vara lättare om det var ett gemensamt språk för klientsidan och serversidan uppgifter . Idag , olika skriptspråk ger olika resultat för vad som verkar vara identiska funktioner . Till exempel, när du frågar den aktuella tiden i förhållande till 1 januari 1970 i PHP , returnerar funktionen det antal sekunder . Samma fråga i JavaScript returnerar antalet millisekunder . En programmerare behöver veta detta och justera antingen JavaScript eller PHP resultat när man försöker jämföra värden i olika språk . Programmerare som arbetar på lag måste komma överens om en standard för att konvertera värden mellan språken . Det finns många exempel på dessa typer av inkonsekvenser som gör att skapa och felsöka program som använder både klientsidan och serversidan kod mycket svårare och tidskrävande . Addera JavaScript " V8 "
Flera företag har utvecklat server - side versioner av JavaScript i ett försök att låta programmerare att använda ett enda språk när de utvecklar applikationer . Aptana utvecklade Jaxster baserad på Mozilla Gecko-motorn som driver FireFox . Microsoft Incorporated JavaScript i sin ASP språk . Men när Google släppt sin webbläsare Chrome Web , presenterade det en JavaScript-motor som heter " V8 " som är extremt snabb och relativt lätt att integrera i andra applikationer . Detta har lett till utvecklingen av server - side JavaScript som inte bara ger ett konsekvent språk över klienten och servern , men ger också betydligt bättre prestanda än nuvarande server - side språk . Till exempel är Node.js från Joyent en händelsestyrd server - side JavaScript för Apache som vinner i popularitet .