1.
Inledning
2. Vad är ett script? 3. JavaScript 4. JScript och EcmaScript 5. VBScript och Visual Basic 6. C#, ASP och ASP.NET 7. PHP 1. InledningDen här sidan handlar om scripts och berättar lite om vad de är, hur de skrivs, hur de fungerar och hur de används. Jag tänker framförallt koncentrera mig på sådana scriptspråk som används på webbsidor. 2. Vad är ett script?Det engelska ordet "script" säger egentligen ingenting om vad ett script är. En svensk översättning med "skrift" eller "skrivstil" gör det inte heller. Ibland har jag sett översättningen "inbyggt manus", men det är inte heller bra, eftersom det då är lätt att förväxla med översättningen av "stylesheet". På svenska säger man ibland "skript", men det ordet använder jag mig inte av. Man använder ordet "script" i många olika sammanhang, även utanför webben. Man säger t.ex att en drivrutin för en skrivare eller modem är ett script. Ordet har alltså ingen klar och avgränsad betydelse. På webben kan ett script vara lite olika saker, men generellt sett är det några rader programkod, skrivna på ett särskilt programspråk. Ett script kan ligga inbäddat i ett HTML-dokument eller utgöra en särskild fil. Hanteringen liknar mycket den som används för stylesheets.
Man säger därför att sådana språk är tolkade. Det är inte alldeles enkelt att förklara vad detta innebär utan att bli väldigt teknisk. Väldigt enkelt kan man säga att scripts inte är självständiga program utan kräver andra program för att starta. När webbläsaren startar och utför scripts heter det att scripten är klientstyrda eller "client-side". Scriptet kan också köras på servern, som i fallet med cgi- och asp-scripts. När webbläsaren läser ett sådant script startas ett program på servern, som tolkar scriptet och utför de operationer som definierats i det. Scriptet påverkar inte webbläsaren och fungerar därför i princip oavsett vilken version webbläsaren har. Du ser inte heller sådana scripts när du väljer att titta på HTML-koden. Sådana scripts kallar man serverstyrda eller "server-side". De används oftast för lite tyngre uppgifter, som räknare, gästböcker och liknande på en hemsida. 3. JavaScriptJavaScript har en ganska lång historia. Det började utvecklas redan under 1993-94, av företaget bakom webbläsaren Netscape. Då hette språket LiveScript. När Netscape släppte version 2.0 av sin webbläsare, i december 1995, inkluderade man en tolk, som kunde förstå scripten. Från början var det tänkt att man skulle använda scriptspråket för att komplettera Html-koden, t.ex för att lägga in applets på webbsidorna. Applets är små program skrivna i Java, ett programspråk som Sun hade utvecklat. Applets ansågs på den tiden vara framtiden för webben. De kunde användas för många olika uppgifter, som sökfunktioner, bilddatabaser, spel, gästböcker, osv. Applets finns fortfarande men fick inte riktigt den genomslagskraft man hade trott. Netscape hyllades i alla fall för sin webbläsare, den första som klarade att infoga applikationerna på en webbsida. Med applets hoppades man kunna spara både bandbredd och datakraft på servern, eftersom allt på webbsidan kunde köras direkt i besökarens webbläsare. I och med att Netscape började arbeta tillsammans med Sun, ändrade man också namn på scriptspråket, från LiveScript till JavaScript. Hösten 1995 brukar anges som tiden då namnet blev officiellt. Även om Netscape 2 hade visst stöd för JavaScript var det inte förrän med Netscape 3 som man började få riktigt stor användning för det. En starkt bidragande orsak till det var att Microsoft hade släppt Windows 95. Det kunde hantera JavaScript betydligt bättre än sin föregångare, Windows 3.1. Tidigare hade det bara fungerat bra på Macintosh-datorerna. Nu blev Windows 95 snabbt det vanligaste operativsystemet. Men JavaScript på efterföljaren, Windows 98, fungerade ännu bättre. Microsoft byggde in bättre stöd och därför kunde också JavaScript utvecklas med nya versioner. Namnet "JavaScript" skapade en hel del förvirring. Dels fanns ju program skrivna i Java, dels fanns Java-applets som kunde köras på besökarens dator och dels fanns JavaScript-kod. Det var inte självklart hur man skulle särskilja de olika företeelserna. Netscape och Sun hade därför fullt sjå med att förklara för utvecklarna att man inte längre behövde skriva hela program i särskilda utvecklingsmiljöer, kompilera dem och sedan infoga dem i Html-dokumenten. I stället skulle man göra i princip tvärtom och skriva in koden direkt på webbsidorna. Ytterligare en komplikation var att JavaScript fanns i två versioner. Tidigare hade det nämligen funnits en kusin till LiveScript, som kallades LiveWire. Denna variant kunde användas för att köra applikationer från servern. Om LiveScript var "client-side" så var LiveWire alltså "server-side". I och med namnbytet hösten 1995 ändrade man alltså namn på LiveWire till JavaScript. Men man behöll LiveWire som namn på den extra mjukvara som behövdes för att köra JavaScript på servern. Förvirringen är faktiskt fortfarande stor över vad det egentligen är man menar med namnet "JavaScript". Man har därför tvingats anamma två olika beteckningar: Netscape JavaScript för den variant som kan köras på klienten, dvs besökarens dator, och Server-side JavaScript eller LiveWire om den variant som körs via servern. På sidorna om JavaScript finns mer information om det språket. Läs mer > 4. JScript och EcmaScriptJScript 1.0 lanserades 1996 av Microsoft för webbläsaren Internet Explorer 3 och serverprogramvaran Internet Information Server (IIS). JScript var nästan helt kompatibel med JavaScript 1.0, men bara nästan. Genom att ta fram en egen version av scriptspråket slapp Microsoft dock betala licensavgifter och kunde i stället använda pengarna till att skräddarsy JScript för den egna mjukvaran. I takt med att JavaScript kom med nya och förbättrade versioner, släppte Microsoft egna versioner av JScript. konsekvenserna av denna kamp blev att webbläsarna - Netscape och Internet Explorer - inte var helt kompatibla. Netscape och Microsoft kom till slut överens om att försöka ta fram en gemensam standard. Tillsammans med flera andra utvecklare, startade man under 1996 "The European Computer Manufacturing Association", förkortat som ECMA. I juli 1997 släpptes första versionen av EcmaScript. Dock fortsatte både Microsoft och Netscape att utveckla JScript respektive JavaScript åt var sitt håll. Ingen av dem följde dock Ecma-standarden! 2001 Kunde man konstatera att de båda konkurrenterna trots allt inte helt dragit åt olika håll. JavaScript 1.5 och JScript 5.5 följde då till större delen EcmaScript 3.0. problemet med kompatibiliteten har också mildrats något i och med att nya scriptspråk gjort entré och i många fall konkurrerat ut JavaScript. 5. VBScript och Visual BasicJavaScript, JScript och EcmaScript påminner ganska mycket om andra scriptspråk, framförallt Microsofts VBScript, Suns Tcl, UNIX-baserade Perl, och IBMs Rexx. Så säger i alla fall de som är mer tekniskt insatta än mig. VBScript togs fram som ett alternativ till JavaScript, som ett sätt för webbutvecklare att snabbare och enklare kunna skapa enkla applikationer - små program - för webben. Alternativen var att göra dem i Java, C eller C++, som är svårare, kräver att koden görs om (=kompileras) så att den går att köra på servern eller i webbläsaren. Visserligen blir läsningen och tolkningen av ett script mycket långsammare än kompilerad kod, men för små program och applikationer fungerar det utmärkt. "Storebror" till VBScript är Visual Basic (eller bara "VB"), som är vad det låter: En programmeringsmiljö där språket heter Basic och där man programmerar via ett grafiskt gränssnitt. VB används ofta för att testa idéer och funktioner, eftersom det är enkelt och går snabbt att programmera. När man gjort en prototyp som fungerar överger man dock oftast VB för ett mer effektivt språk, t.ex Java, C eller C++. 6. C#, ASP och ASP.NETC# (eller "C Sharp") är Microsofts programspråk, som sägs kombinera raftfullheten hos C++, med smidigheten och enkelheten hos Visual Basic. Många menar också att det påminner mycket om Java. C# är gjort för att fungera tillsammans med Microsofts .NET-plattform. Det har inbyggt stöd för XML och SOAP. Eftersom språket är ganska nytt - det lär ha introducerats i samband med släppet av Windows 2000 Server - är det ännu för tidigt att säga hur stort det kommer att bli på marknaden. Microsoft har dock försökt få till en internationell standard för C#, vilket anses vara en nödvändighet för att utvecklare skall börja använda det. ASP står för "Active Server Page" och är namnet på en Html-sida, som innehåller ett eller flera scripts, som sedan körs på en Microsoft-server. ASP är i sig alltså inget språk, utan scripten för en ASP-sida skrivs antingen i JScript eller i VBScript. I vissa fall kan även ActiveX-kod (mer specifikt "ActiveX Data Objects" eller "ADOs") användas. En ASP-sidas scripts kan vara såväl klientstyrda som serverstyrda. Man brukar föredra det senare. Därför kan man säga att ASP är en efterföljare och stark konkurrent till server-side JavaScript och till CGI. ASP.NET är en uppdaterad version av ASP och hette från början ASP+. ASP.NET (eller bara .NET med amerikanskt uttal: "dott nett") är inte helt bakåtkompatibel med ASP och även om man kan använda såväl ASP (.asp) som ASP.NET (.aspx) på sina sidor, finns det vissa begränsningar, t.ex för sidor som ligger i samma mapp. ASP.NET stödjer sidor skrivna i kompilerade språk, som Visual Basic, C++, C# och Perl. En annan förbättring är att .NET har funktioner för att separera en sidas kod från dess innehåll, vilket är något som utvecklare ropar högt av glädje över. 7. PHPPHP var ursprungligen en kortform av "Personal Home Page Tools", men avser numera i stället "Hypertext Preprocessor". Skälet till denna "omvända akronym" är att PHP-scripts, liksom konkurrenten ASP, genererar Html-kod. Det betyder att när man väljer att visa koden på en sådan sida, syns inte PHP- eller ASP-koden, utan endast Html-koden. PHP används huvudsakligen på Linux-servrar. PHP-sidorna känns igen genom att de har avslutningen .php eller .phtml. PHP-tekniken är gratis och utvecklas genom s.k "open source"-projekt. Open Source innebär att källkoden är öppen och fri för var och en som vill att vidareutveckla. Detta förfarande står i direkt kontrast till hur utvecklare normalt arbetar, eftersom de ofta försöker dölja källkoden, där man ser hur de skrivit programmet. Linux utvecklas också genom open source. Linux källkod utvecklades från början bl.a av finländske Linus Torvalds vid Helsingfors Universitet. Han skrev om delar av Unix för att på så sätt ta fram ett billigt, användbart operativsystem för privatpersoner. |