HTML5
Siden Tim Berners-Lee [1] ved CERN introduserte HTML i 1989, har vi hatt flere versjoner av HTML med litt forskjellige egenskaper, og vi har hatt en serie med nettlesere som i varierende grad har tolket de ulike HTML-versjonene litt forskjellig. Nettleserene har hatt det til felles at de har hatt en stor grad av toleranse når det gjelder å tolke HTML. De har akseptert HTML som ikke er velformet i henhold til krav om at elementer skal være lukkede, ikke overlappe osv. Nettleserne har også vært bakover kompatible slik at både gamle HTML-formuleringer og etablerte dårlige skrivevaner skal fungere. versjonsdefinisjoner og anbefalinger har vært administrert av W3C [2] .
Et interessant trekk har vært W3C's forsøk på å introdusere XHTML. Det vil si at HTML-koden skal være velformet i XML-forstand.
Introduksjonen av HTML5 var et brudd med denne trenden og ble begrunnet slik fra WHATWG [3]
The WHATWG was founded by individuals of Apple, the Mozilla Foundation, and Opera Software in 2004, after a W3C workshop. Apple, Mozilla and Opera were becoming increasingly concerned about the W3C’s direction with XHTML, lack of interest in HTML and apparent disregard for the needs of real-world authors. So, in response, these organisations set out with a mission to address these concerns and the Web Hypertext Application Technology Working Group was born.
Det er ikke uten videre enkelt å se logikken i denne begrunnelsen, men slik er det.
Sett fra en programmerers synspunkt har dette to konsekvenser
- som Javascript-programmerer på en webside er konsekvensene små. Vi må stole på at parseren i nettleseren tolker html-koden og gir oss tilgang til en komplett DOM (Document Object Model). Mot denne strukturen kan vi kode med generelle API'er og spesielle API'er.
- som programmerer av verktøy som skal administere innhold er dette litt mer komplisert. Innholdskomponentene vil ofte være i ikke-vellformet HTML-form. Vi må finne verktøy som parsere seg som en nettleser-parser, slik at vi kan bruke effektive API'er for å manipulere slike innholdskomponenter som DOM-objekter.
HTML5 representerer i alle fall et viktig skritt i utviklingen av teknologien for nettpublisering. HTML5 rydder opp i en del gamle lappverk og forenkler kraftig all forvirringen omkring ulike typer doctypes som har eksistert (og forsatt eksisterer) paralellt. HTML5 introduserer en rekke nye muligheter, og avklarer en del tvil. Noen av de mest åpenbare framskrittene er
- en rekke nye elementer, hvorav kanskje canvas er det mest interessante
- en opprydning i cookie-verden med localStorage og sessionStorage
- et forsøk på å definere semantisk elementer, som article, header, nav, etc
- innføring av microdata
- innføring av geolocation
- innføring av Websockets og Server-sent Events
- et utvidet repetoir av begivenheter
- at svg og math er lovlige elementer
- at audio og video er ryddige elementer
- at drag -drop er innført på en standardisert, men kansje litt begrenset, måte
- at HTML5, sammen med CSS3, bidrar til å styrke resonnementet om Separation Of Concern (SOC).
I dette materialet er det HTML5 som ligger til grunn. Disse sidene er skrevet i HTML5, men de er velformet. Begrunnelsen for dette er som angitt ovenfor, sidene produseres basert på fragmenter i et Java-basert verktøy. Sidene validerer (forhåpentligvis) i henhold til W2C's validator.
HTML5 er et dynamisk konsept, og det varierer hvordan de ulike nettleserne henger med i svingene. Du kan finne ut litt om status på HTML5tester [4] .