måndag 4 april 2011

HTML5, vad är det?

HTML 5

Jag tänkte lägga upp en artikel om Flash då det är både ett språk och en applikationsform. Men internet förändras fort, och inom ett år kommer Flash - som varit en oumbärlig del för alla flashiga sidor sedan mitten av 90-talet - att vara ett annat 'dött' språk.
Adobe Flash var fram till i maj år 2008 ett slutet format, men är nu öppet för andra aktörer än Adobe. En bidragande orsak till beslutet var bl.a. vara den ökande konkurrensen från Microsoft Silverlight och möjligheterna med kommande HTML 5.
Och därför blir detta i stället en artikel om just HTML 5.
Dagens version av HTML (4.01) stadfästes 1998, och är egentligen bara en buggfix av version 4.0 från 1997. Från W3C var tanken att HTML skulle ersättas av XHTML. XHTML 1.0 innehåller dock inga utvidgningar eller ändringar av tillgängliga element och attribut, så i praktiken är syntaxen oförändrad sedan 1997. En viss utvidgning av syntaxen kom i och med elementen för ruby i XHTML 1.1 i maj 2001, men stödet för XHTML 1.1 i webbläsarna förblev obefintligt. Därefter var tanken att XHTML 2.0 skulle ersätta dagens HTML och XHTML.

Ett antal problem sågs av de webbutvecklare och webbläsartillverkare som tog initiativet till HTML5:
* XHTML 2 är inte bakåtkompatibelt med tidigare versioner. Element och attribut från dagens HTML är delvis borttagna eller har fått förändrad innebörd.
* XHTML 2 ansågs oerhört svårt att implementera i webbläsarna.
* XHTML 2.0 ansågs endast tillgodose webben som renodlade dokument. Höggradigt interaktiva och mediarika webbplatser saknas det funktionalitet för.
* HTML, snarare än XHTML, förblev de facto-standard för webbplatser. Även de sidor som har en XHTML-doctype skickas oftast som text/html och är därför i praktiken vanlig HTML. De flesta sådana sidor är dessutom inte välformade, vilket gör att de inte kan tolkas av en äkta XML- eller XHTML-tolk.[1]
* Både dagens standarder och XHTML 2 ansågs underspecificerade. Samma kod kan ge olika resultat inte bara grafiskt, utan den kan resultera i skillnader i webbläsarna dokumentsobjektmodell (DOM), vilket i sin tur påtagligt försvårar förutsättningarna för utvecklare av skript.
Målsättningarna är därför till stor del formulerade ur dessa problembeskrivningar.
* Att skapa en utvidgning av de tillgängliga element och attribut som kan användas, för att berika de semantiska möjligheterna och möjliggöra webbapplikationer.
* Att göra detta genom en inkrementell påbyggnad av dagens standarder.
* Att tillgodose två möjliga serialiseringar: HTML och XHTML. Skillnaden dessa emellan klargörs till att handla om MIME-deklaration. Möjligheten att sända XHTML som HTML bortdefinieras. Ur webbläsarens perspektiv är det HTML.
* Att leta efter och tillvarata de facto-utvidgningar av dagens standarder och vanligt förekommande designmönster.
* Att understödja "best practice" tillvägagångssätt för webbutvecklarna, samtidigt som man specificerar hur webbläsarna skall hantera uselt skriven HTML-kod. För utvecklarna skärper man kraven jämfört med HTML 4.01, medan man specificerar i detalj hur webbläsarna skall skapa sin interna DOM, även från grötig kod.
Med HTML5 introduceras ett antal nya element och attribut, som inte funnits med i tidigare standarder. Några av dessa syftar till att ge en semantisk betydelse åt ett flertal användningar av de mer generiska
- och -elementen. Exempel på sådana element är för webbsidans navigationsmenyer, och för innehåll av olika betydelse, samt (som inte ska förväxlas med ) och för webbsidans sidhuvud och sidfot. Samma sak gäller för, som nu istället ersätts av och . Vidare har man valt att stryka element som har ett rent presentationsmässigt syfte, så som och , vars effekt istället ska uppnås via CSS.
Den här portalen (bergstromsservice.se) är i skrivandets stund ett hopkok av en mängd olika webbspråk - ett lapptäcke av tekniker av HTML, css, Xhtml, Java, PhP, Iframes och frames - som speglar dess ålder. I html5 skulle (teoretiskt) hela denna portal kunna nästlas in i en stor fil, en folder för all media och en anropspunkt till SQL. Och det skulle vara flashigt utan Flash! /D

Inga kommentarer:

Skicka en kommentar