Introduktion till HTML5
HTML5 är nästa version av HTML-standarden och tas fram av W3C tillsammans med WHATWG. Efter att HTML 4.01 släpptes så började W3C arbetet med XHTML 1.0, vilket har exakt samma element som HTML 4.01, men ger en syntax mer lik XML. De fortsatte sedan med XHTML 2.0, vilket skulle ha helt nya element, och då inte alls bakåtkompatibelt med XHTML 1.0. Under tiden började en ny grupp kallad WHATWG (Web Hypertext Technology Working Group) med en separat standard kallad Web Applications 1.0, vilket skulle bli en fortsättning på HTML 4.01.
Då XHTML 2.0 fick mycket kritik på grund av komplexiteten och då det inte var bakåtkompatibelt med tidigare versioner av HTML och XHTML beslutade W3C att lägga ned arbetet med det och istället satsa på HTML5 tillsammans med WHATWG.
Same same, but different
Många förespråkare för XHTML menar att HTML ger svagare krav på utvecklaren då man inte längre behöver stänga element, ha apostrofer runt attributens värden och annat som krävs i SGML. Det här har dock lett till att det kommer att bli möjligt att skriva HTML5 på två olika sätt – med HTML-syntax och med XML-syntax. Det senare kräver dock att hela sidan skickas med rätt MIME type (application/xhtml+xml) , vilket Internet Explorer 8 och tidigare inte klarar av (Internet Explorer 9 har dock stöd för det). Vill man använda HTML-syntaxen så levereras sidorna som tidigare med text/html.
Varför HTML5?
En fråga som många ställer sig är varför vi skulle behöva HTML5 när vi idag med HTML 4.01/XHTML 1.1, JavaScript, Silverlight, Flash och annat redan kan göra allt vi behöver. Svaret på det är att genom att erbjuda en standard gör det möjligt att skapa moderna webbsajter så som de flesta fungerar idag, och samtidigt kunna visa den i alla webbläsare på alla plattformar. Krävs det ett plugin för att se till exempel filmer så låser man lätt ute användare på andra plattformar än den man har skapat sidan för. Genom att använda HTML5 så räcker det med att använda en webbläsare med stöd för det för att man ska kunna erbjuda samma upplevelse för även dessa personer.
Nyheter i HTML5
Det finns en mängd nyheter i HTML5 som leder oss in i nutiden. HTML 4.01 blev en standard 1999 när i stort sett alla fortfarande satt med slöa modem. Vad som har hänt de senaste 11 åren är att vi har fått helt klart snabbare uppkopplingar, vilket ger möjligheten att visa filmer, spela musik och annat direkt på hemsidorna.
Några av de största nyheterna i HTML5 är:
Nya HTML-element
Det tillkommer en del nya element så som section, nav, article, aside, hgroup, header, footer m.m. Dessa används för att enklare gruppera sidan i olika delar där vi idag ofta har div-element med ett id som förklarar vilken del av sidan det gäller.
Video & audio
Med de nya video- samt audio-elementen kan vi spela upp video och ljud direkt på hemsidorna utan att behöva tredjepartsplugins. Det finns än så länge inte någon specifikation för vilka format som skall ingå i standarden, utan som det ser ut nu så är det till stor del upp till webbläsartillverkaren.
Canvas
Med Canvas kan vi rita ut objekt direkt i webbläsaren utan att behöva använda bilder (det går dock att använda bilder i canvas). Tack vare hårdvaruaccelereringen som finns i till exempel Internet Explorer 9 så kan vi skapa spel och annat som tidigare krävde Silverlight eller Flash, genom att med canvas-elementet och JavaScript rita ut alla objekt. Vill man få in ljudeffekter kan man med fördel använda det nya audio-elementet.
Inline SVG
SVG är sedan tidigare en W3C-standard, men med HTML5 slipper vi ha separata SVG-filer, och kan nu istället använda SVG direkt i våra HTML-dokument. SVG kan precis som canvas användas för att rita ut objekt på skärmen, men med skillnaden att SVG är XML-baserat och renderar vektorgrafik, medan canvas används med JavaScript för att rita ut objekten.
Nya input-typer i formulär
När man skapar formulär på hemsidor idag så används ofta JavaScript på klienten för att validera det som skrivs in. Vi kanske har telefonnummer, e-postadresser och annat i vanliga text-fält, vilka sedan måste valideras manuellt. Som en del av HTML5 kommer det dock stöd för nya typer av input-fält, vilket gör att vi får valideringen inbyggd i webbläsaren.
Nya JavaScript-API:er
Förutom just det HTML5-specifika så brukar man räkna med en del olika JavaScript-API:er i standarden. Dessa är bland annat Selectors, Web Storage, Web Sockets, Web Workers, Geolocation, Offline Web Applications med flera. Redan Internet Explorer 8 hade stöd för bade Selectors och Web Storage, vilket betyder att väldigt många kan använda det redan idag.
Framtiden för HTML5
Så när beräknas HTML5 bli en färdig standard? Det talas ofta om att år 2022 är då det blir en rekommendation hos W3C. Det låter som en ganska skrämmande siffra, men med tanke på att det kräver två fulla implementationer av standarden så är det inte så konstigt trots allt. Som jämförelse kan man ta CSS 2.1 som trots att det är vad man använder idag, fortfarande inte är en standard utan bara en ”Candidate Recommendation” vilket betyder att standarden är så gott som klar, men att det eventuellt kan ske någon ändring som upptäcks när standarden skall implementeras i flera webbläsare. Man räknar med att HTML5 skall nå det stadiet år 2012, så om två år från att det här skrivs så bör alla funktioner och element vara färdiga och redo att implementeras och användas.
Kom igång redan idag
För att förbereda sig på vad som komma skall så kan man redan idag ladda ned Internet Explorer 9 Beta 1, vilket har stöd för många av de kommande funktionerna i HTML5, som till exempel video, audio, inline SVG och Canvas, men även stöd för en annan kommande standard – CSS 3.
Internet Explorer 9 Beta 1 kan laddas ned här:
http://windows.microsoft.com/en-US/internet-explorer/download/ie-9/worldwide