HTML5

**HTML5** tarkoittaa HTML-merkintäkielen versiota.
Toisinaan HTML5:llä viitataan myös joukkoon erilaisia web-tekniikoita (JavaScript, CSS, HTML). Merkittävä ero HTML5:ssä aiempaan on, että se poistaa tarpeen erilaisille kolmansien osapuolien lisäosille.

HTML5:ttä käytetään myös iskusanana (*buzzword*) väljemmässä merkityksessä.

## HTML5-kieli

HTML5-kieli on uusi versio verkkosivujen tekemiseen yleisesti käytetystä HTML-merkintäkielestä. HTML5 julkaistiin virallisesti 28. lokakuuta 2014 eli siitä tuli World Wide Web Consortiumin (W3C) suositus.

Uudistuksina HTML5:ssä ovat mm. uudet `&lt;canvas>-`, `&lt;video>-` ja `&lt;audio>`-elementit sekä SVG-muotoisen sisällön näyttäminen ilman `&lt;object>`-tunnisteen käyttöä. Muita lisäyksiä HTML:ssä ovat dokumentin semanttisuutta rikastuttavat `&lt;section>-`, `&lt;article>-`, `&lt;header>-` ja `&lt;nav>`-tunnisteet ja uudet attribuutit tunnisteiden määrittelyyn ja selkeyttämiseen.

Vanhentuneiksi on merkitty elementtejä, jotka ovat paremmin toteutettu CSS:n avulla, jotka haittaavat käytettävyyttä ja saavutettavuutta tai jotka aiheuttavat sekaannuksia:
`acronym`, `applet`, `basefont`, `big`, `center`, `dir`, `font`, `frame`, `frameset`, `isindex`, `noframes`, `strike`, `tt`.

Toisin kuin aiemmat HTML-kielen määrittelyt, HTML5:n määrittely kuvaa tarkasti dokumenttioliomallin (DOM). Määrittely kuvaa HTML-dokumentin ensisijaisesti oliona, jolla on puurakenne ja jota voidaan käsitellä ohjelmallisesti (etenkin JavaScriptillä). HTML-tunnisteet ovat tällöin vain väline, jolla puurakenne esitetään tekstimuodossa eli sarjallistetaan. Sarjallistus voidaan tehdä myös XML:n sääntöjen mukaan, jolloin esitystavasta käytetään nimitystä XHTML5.

Määrittelyyn sisältyy myös sovellusliittymiä (API), etenkin sellaisia, joilla voidaan toteuttaa vuorovaikutteisuutta ja tuoda dokumentteihin sovellusmaisuutta. Lisäksi varsinaisen HTML5-määrittelyn ulkopuolella on lukuisia erillisiä määrittelyjä, jotka laajentavat tällaisia mahdollisuuksia.

## HTML5 iskusanana

HTML5 viittaa nykyisin usein yleisesti moderneihin web-tekniikoihin. Niihin kuuluvat HTML5-kielen uutuuksien ohella esimerkiksi CSS:n uudet piirteet (CSS3) sekä sovellusliittymät kuten File API ja Geolocation API. HTML5:llä tässä mielessä ei ole selviä rajoja, ja tulkinnat vaihtelevat.

Modernien web-tekniikoiden yleisnimityksenä HTML5 vastaa suunnilleen W3C:n käyttämää ilmausta Open Web Platform, joka määriteltiin laajaksi kattotermiksi
kattamaan kaikki W3C:n alaan kuuluvat selaimen kautta tapahtuvat asiat (”all the W3C work that deploys through the browser of the future”). HTML5-nimityksellä kuitenkin viitataan usein myös W3C:n ulkopuolella määriteltyihin asioihin kuten 3D-grafiikan rajapinta WebGL.

## HTML5-sovellukset

Sovelluskehityksen alalla HTML5 tarkoittaa nykyisin yleisesti sovellusten toteuttamista webin avoimilla tekniikoilla. Ohjelmointikielenä on tällöin JavaScript ja muotoilun perusvälineenä CSS. HTML:n osuus on melko pieni, eikä siinä ole yleistä tarvetta käyttää HTML5-kielen uutuuksia.

HTML5:n avulla kehittäjät pystyvät vaivattomasti kehittämään järjestelmäriippumattomia sovelluksia, jotka toimivat saumattomasti eri laitteilla, kuten älypuhelimilla ja tableteilla.  Tämä mahdollistaa nopeamman kehityssyklin, kustannustehokkuuden ja laajan yhteensopivuuden eri alustojen kanssa. Kehittäjät voivat hyödyntää yhtä koodipohjaa useiden eri mobiilialustojen, kuten iOS:n ja Androidin kehittämiseen.

Yksi HTML5:n keskeisistä ominaisuuksista sovellusten kehityksessä on responsiivinen suunnittelu. Responsiivinen suunnittelu mahdollistaa sovelluksen automaattisen sopeutumisen eri näyttökokoihin ja laitteiden ominaisuuksiin. Tämä tarkoittaa, että sama sovellus voidaan optimoida eri näyttökoille, olipa kyseessä pieni älypuhelimen näyttö tai suuri tabletin näyttö. HTML5 tarjoaa myös laajan valikoiman sovellusliittymiä (API), jotka mahdollistavat pääsyn mobiililaitteiden laitteistotoimintoihin ja ominaisuuksiin. Esimerkiksi kamera-, sijainti-, liikeanturi- ja puhelintoiminnot voidaan hyödyntää HTML5-sovelluksissa. Näiden sovellusliittymien avulla kehittäjät voivat luoda monipuolisia ja innovatiivisia mobiilisovelluksia, jotka hyödyntävät laitteiden ominaisuuksia. 

Toinen HTML5:n merkittävä etu sovellusten kehityksessä on sen kyky toimia offline-tilassa. HTML5 tarjoaa paikallisen tallennustilan (localStorage) ja sovellusvälimuistin (application cache), jotka mahdollistavat sovelluksen käytön ilman jatkuvaa verkkoyhteyttä. Tämä on erityisen hyödyllistä mobiililaitteilla, joissa verkkoyhteys voi olla epävakaa tai rajoitettu. Käyttäjät voivat käyttää sovellusta normaalisti, vaikka he eivät olisikaan yhteydessä internetiin.

HTML5-sovelluksia voidaan myös helposti päivittää ja jakaa käyttäjille. Kehittäjät voivat päivittää sovelluksen uuden version ilman, että käyttäjien tarvitsee asentaa päivityksiä erikseen. Tämä vähentää huomattavasti käyttäjien vaivaa ja takaa, että heillä on aina käytössään viimeisin sovellusversio. Lisäksi HTML5-sovellukset voidaan jakaa helposti verkossa ilman sovelluskauppojen rajoituksia.

HTML5:n kehitys on korvannut Adobe Flashin ja Microsoft Silverlightin videoiden toistossa.

## Vanhentuneet merkinnät
Alkujaan HTML suunniteltiin semanttiseksi merkinnäksi, mutta siihen lisättiin erilaisia ominaisuuksia.
HTML5:ssä monet aiempien versioiden esitystapaan liittyvät merkinnät on merkitty vanhentuneiksi. XHTML 1.1 -standardi on jo poistanut nämä merkinnät. Esitystietoa varten on tarkoitus käyttää `style`-attribuuttia ja CSS-tyylisivuja.

## Lähteet

## Aiheesta muualla