Posts tagged ‘webutveckling’

»Webben 2.0« är en nergradering

»Webben 2.0«, ett så kallat »buzzword« som beskriver det nya webutvecklarparadigmet med ett tänkande runt applikationer snarare än websidor och med interaktivitet genom AJAX-tekniken, har nu på allvar spritt sig till den breda massan och blivit snudd på obligatorisk för webutvecklare. Så vanlig att det känns som ett bra tillfälle att påpeka WWWs ursprungliga syfte, nämligen att sprida- och länka information, mestadels i textformat, på ett plattformsoberoende sätt. Tanken var att det inte skulle spela någon roll vilken utrustning man hade för att läsa sidor eftersom de alla skulle vara skrivna enligt en gemensamt överenskommen standard. Förmodligen är det plattformsoberoende tänkandet i webbens utformning anledningen till att man idag kan läsa websidor i sin mobiltelefon och oberoende av vilket operativsystem man har i sin dator, precis som med epost, ett annat system designat enligt liknande principer.

Det är viktigt att förstå att den ursprungliga webben inte var tänkt att vara interaktiv. HTML, språket som beskriver en websida, är ett så kallat märkspråk och har enbart till uppgift att markera ut om det som kommer är ett nytt stycke, en överskrift eller kursiv text exempelvis. Även på den tiden fanns det formulär där användare kunde fylla i data som skickades in till webservern, som förmodades göra något smart med den. Ett vanligt problem är att titta om användaren har fyllt i formuläret rätt och inte skrivit något fel eller glömt fylla i ett fält. Efter ett tag kom man på att det var opraktiskt att låta servrarna tugga igenom all data som användarna skickade in bara för att se att den var korrekt (processortid var dyrare på den tiden), så man introducerade skriptspråket Javascript (som egentligen heter ECMAScript och inte har något alls att göra med den Java som körs i exempelvis mobiltelefoner), J:et i AJAX. Med det kunde man i sin HTML-kod skriva att »här uppe är det en snutt javascriptkod, kör den på formuläret och kolla att allt är som det ska innan du skickar det«.

Senare introducerades så kallade stilmallar för att mer precist kunna styra utseendet på en websida, och Javascript började användas till vad som kallades dynamisk HTML. Mestadels bestod »dynamiken« i att ändra bakgrund på en länk eller knapp när användaren förde musen över den och liknande saker. Fortfarande var dock websidor faktiskt sidor. Det var fortfarande text och bild som visades upp, de hade bara pyntats med lite (mestadels skenbar) interaktivitet. Men så kom någon på att man kunde använda information lagrad i XML (X:et i AJAX) för att kontinuerligt mata en snutt Javascriptkod som körs i själva websidan med ny data. Detta gjorde det möjligt att göra websidor som ändras under körning, och webben börjar mer och mer bete sig som ett utvecklingsramverk för program än ett dokumentformat.

Men det stora problemet är att de nya designgreppen mer eller mindre är påtejpade ovanpå de gamla och systemet används på ett sätt som det inte var tänkt för. Fråga en webdesigner bara så får du veta att det är långt ifrån trivialt att få AJAX att fungera, och att få det att fungera bra på alla webläsare är en mardröm. Utvecklingen i form av interaktivitet har alltså skett på direkt bekostnad av plattformsoberoendet. Ett annat, kanske mindre uppenbart, problem är att webindexerare för söktjänster som Google eller Yahoo fungerar väldigt dåligt ihop med den nya modellen. De är ju gjorda för att krypa omkring och leta efter information som ligger mer eller mindre statiskt på sidor, inte att köra små snuttar kod för att hämta information från servrar.

Ett annat problem med webapplikationer är att de har börjat ta över områden som vanliga, lokalt körande applikationer fyllde. Numera läser man nyheterna och eposten genom webläsaren, och Google har börjat lansera kalendrar och dokumenthanterare med mera. Det har flera olika sorters risker, den kanske mest uppenbara är drift- och informationssäkerheten. Om din internetuppkoppling går ner exempelvis, så blir din dator i princip oanvändbar, eftersom du är beroende av program som körs på servrar ute på nätet. Ofta har dessa tjänster också dåliga möjligheter till back-up, vilket betyder att om det brinner i serverhallarna och de inte har tagit back-up så är din data borta. Andra sorters problem handlar om transparens, risker för informationsläckage och datamakt. Vill vi verkligen ha all vår personliga information koncentrerad i händerna på ett företag som vi vet att vi inte kan lita på? Och även om vi vet att vi kan det, vad är det som säger att inte morgondagens VD:ar är mindre hänsynsfulla och exempelvis gräver fram dina gamla dokument för att sälja dem till högstbjudande? Webapplikationer tenderar att förskjuta makten över användarens data till företag — som har kontroll över många personers data. Det är en samhällsfara som allra minst.

Men Web 2.0 har fört med sig bra saker också, kanske mest nämnvärt fler möjligheter för dataexport från websidor, så att man som användare (eller programmerare av en annan webtjänst) kan plocka ut data på ett strukturerat sätt ur sajters databaser. Förhoppningsvis kommer Web 3.0 att utveckla det konceptet och göra sajter där informationen går att hämta på ett strukturerat sätt och där utseendet är separerat från datan så att det blir frivilligt att använda och sökning i datan blir enklare. Möjligheterna för kommunikativa applikationer, som sociala nätverk exmepelvis, är också intressant och det behövs definitivt ett plattformsoberoende ramverk för att utveckla sådana. Men det ramverket är inte HTML.