...

JavaScript er en af de tre store webhoteller: ud over HTML (sidestruktur) og CSS (præsentation) tilbyder det objektorienterede programmeringssprog dynamisering af indholdet. Men JavaScript kan ikke kun anvendes i forbindelse med sidedesign. Server-side applikationer kan også styres med JavaScript.

Oprindelsen af JavaScript

På trods af navnet har JavaScript ikke meget med Java at gøre. Oprindeligt skulle scriptingsproget hedde LiveScript og blev udviklet af Netscape til interaktion mellem Netscape Navigator og Java-applets (Java-klientprogrammer). Som faktisk proprietær software udgjorde JavaScript en konkurrencefaktor for virksomheder som f.eks. Microsoft repræsenteret. De reagerede på udviklingen af JavaScript med deres egne løsninger som f.eks. scriptingsproget JScript. Med tiden har JavaScript imidlertid etableret sig som det primære scriptingsprog, der nu understøttes af alle browsere, til klientside og (ud over php) dynamisering på server-siden.

Dynamisering på klientsiden

Den mest anvendte funktion i JavaScript er nok muligheden for dynamisering på klientsiden. Klienten er webbrowseren. Dynamisering på klientsiden betyder, at det konkrete indhold, der vises i klienten, manipuleres. HTML er den statiske beskrivelse af strukturen på et websted, den såkaldte Document Object Model (DOM). Mens CSS (Cascading Style Sheets) anvendes til separat udformning af dette "skelet", giver JavaScript mulighed for at flytte, slette eller tilføje HTML-elementer.

Denne DOM-manipulation (DOM-scripting) kan bruges på mange måder. Funktioner er oprindeligt bundet til bestemte hændelser via såkaldte event handlers. Det kan være brugerens klik, tidspunkter eller endda indlæsning af webstedet. Event-baserede ændringer kan derefter udløses via de ID'er, der er tildelt elementer i HTML. Dette kan omfatte alt fra programmering af enkle, dynamiske formularer eller tabelfiltre til indlejring af videoafspillere eller kompleks, dynamisk grafik.

JQuery: Den mindre komplicerede JavaScript

JavaScript er et eksempel på objektorienterede programmeringssprog. Derfor er adgangstærsklen for uerfarne webdesignere relativt høj. Uden at begrænse JavaScript-funktionerne (meget) tilbyder JavaScript-biblioteket JQuery en forenklet syntaks, der gør det muligt at anvende de mest almindelige anvendelsesmuligheder på en hurtig og nem måde. Mens JavaScript med sin definition af prototyper (i stedet for klasser), instanser (konkrete objekter) og metoder (funktioner, der er bundet til objekter) har samme kompleksitet og foranderlighed som f.eks. Java eller Python, begrænser JQuery ordforrådet og strukturerne. Kommandoerne kan indsættes i hinanden, så strukturen kan forstås ret hurtigt. Medmindre der er tale om komplekse, usædvanlige applikationer, er det derfor meget sandsynligt, at der findes en enkel løsning i JQuery.

Dynamisering på serversiden: AJAX og Node.js

Ud over DOM-manipulation bruges JavaScript også til kommunikation med servere, f.eks. til databaseforespørgsler. Siden 2009 har der været node.js, en ramme for dynamisering på serversiden med JavaScript. Det var allerede muligt før 2009, men node.js gør det nemmere at integrere det. Dette er en fordel for JavaScript-programmører, da de ikke længere behøver at ty til andre sprog som f.eks. php. Desuden giver node.js også mulighed for parallelisering af processer. Det er en fordel, fordi for mange af disse såkaldte tråde kan føre til stilstand. Med node.js kører anmodninger på en enkelt tråd, hvilket kan øge ydeevnen betydeligt.

Node.js er et eksempel på de muligheder, som AJAX giver. Akronymet står for en procedure kaldet Asynchronous JavaScript and XML. Dette princip gør det muligt at anmode om indhold fra servere uden at skulle genindlæse hele siden. For mange webtilbud som YouTube ville det være en stor ulempe at skulle genindlæse hele webstedet efter videoopkald eller indlæsning af kommentarer. AJAX er også en løsning på problemet med ophobning af forespørgsler takket være asynkron behandling, som forklaret ovenfor for Node.js.

JavaScript-integration

Den grundlæggende integration af JavaScript i webtilbud fungerer på nøjagtig samme måde som forbindelsen med CSS-filer. Der er to muligheder for dette: På den ene side kan JavaScript bruges i hovedet og på den anden side i kroppen af HTML-dokumentet.

 

Aktuelle artikler