HTML5 –sovelluksia webiin ja Windowsiin

Internet selain on kiistatta käytetyin universaali sovellusalusta, joskaan erilaiset toteutukset eivät välttämättä toimikaan aina samalla tavalla. Selainteknologioiden standardointikaan ei ole edennyt niin nopeasti, kuin moni olisi toivonut, saatikka mennyt aina haluttuun suuntaan. Viimeaikojen kehitysaskeleet ovat menneet onneksi pragmaattisuuden suuntaan – puhdasoppisuuden kustannuksella.

Jotta voisi paremmin ymmärtää nykyisyyttä ja tulevaisuutta, kannattaa lukaista muutama kappale HTML:n historiaa (hyvä ja mielenkiintoinen versio löytyy Mark Pilgrimin Dive into HTML5 –teoksesta: http://diveintohtml5.org/past.html). Yhteensopivuuden alttarille on uhrattu monia hyviä ja huonoja ideoita, mutta pääasia on kuitenkin web ja sovellukset.

html5_1

Oheinen kuva on WebMatrix–kehitysvälineestä (http://www.microsoft.com/web/webmatrix/), joka käyttää suoraan HTML5 doctype –määritettä. Standarditkin voivat olla edeltäjiään selkeämpiä sekä web –kehittäjille että selainvalmistajille.

Kun puhutaan HTML5stä, tarkoitetaan sillä kaikkia niitä määrityksiä, jotka sisältyvät isoon joukkoon standardeja tai standardiehdotuksia:
• HTML5 (http://www.w3.org/TR/html5/)
• CSS3 (http://www.w3.org/Style/CSS/current-work)
• DOM (http://www.w3.org/2008/webapps/wiki/PubStatus)
• JavaScript (http://www.ecma-international.org/publications/standards/Ecma-262.htm)
• SVG (http://www.w3.org/Graphics/SVG/)

Tarkkaavainen lukija huomaa, että iso osa määrityksistä on vielä valmisteluvaiheessa, joskin monet näistä on jo toteutettu osittain tai kokonaan eri selaimissa. Ylläluetellun listan ulkopuolelle jää vielä useita teknologioita, joista mielenkiintoisin on WebSockets, joka on IETF:n alla standardoitava protokolla. Hyvän yleiskuvan tilanteesta saaa myös katsomalla Giorgio Sardion esityksen (http://channel9.msdn.com/events/PDC/PDC10/CD59), tosin tuo on jo hieman vanhentunut, koska se on tallennettu viime vuoden lokakuussa.

Kehittäjän kannalta haasteellisinta onkin lähteä hyödyntämään näitä uusia ominaisuuksia mahdollisimman helpolla ja yhteensopivalla tavalla – pelkkä selaimen tunnistaminen ei riitä varmistamaan oikeanlaista toiminnallisuutta, vaan jokainen hyödynnettävä uusi ominaisuus on tunnistettava ohjelmallisesti. Onneksi tähän löytyy hyvä kirjasto: Modernizr.

Modernizr 2 (http://www.modernizr.com/) on avoimen lähdekoodin kirjasto, jonka avulla selainten tukemien ominaisuuksien tunnistaminen ja käyttö on vaivatonta ja mahdollistaa helpomman yhteensopivuuden eri selainten välillä. IE:n eri renderöintimoodien kanssa on syytä olla varovainen:

html5_2_480

Tässä IE standarditilassa

html5_3_480

Ja IE7 moodissa.

Eli IE9:n HTML5–ominaisuudet toimivat vain IE9 standarditilassa, kuten voi olettaakin. Vanhojen selainten puutteita voi korjata käyttämällä JavaScript –kirjastoja, jotka tuovat uusia ominaisuuksia myös vanhempiin selaimiin (https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills).

Tulevaisuus

Kehittäjän kannalta HTML5 tuo parempaa yhteensopivuutta eri selainvalmistajien kesken, nopeutta selainten suorituskykyyn (kiitos JavaScript –benchmark –sotien) mahdollisuuden rakentaa sovelluksia, jotka toimivat lähes natiivisovellusten tapaan (joskus jopa paremmin), sekä aivan uuden alustan sovelluksille: Windows 8:n

Windows 8 mahdollistaa HTML5 tekniikoiden hyödyntämisen, kun rakennetaan uusia sovelluksia tulevalle käyttöjärjestelmälle. Kaikki suunnittelu ja ohjelmointiosaaminen, joka kohdistuu web –sovelluksiin on tulevaisuudessa hyödynnettävissä myös natiivi Windows –sovelluksia tehtäessä. Näin samoja teknologioita voi hyödyntää kautta linjan selaimista Windowsiin. Lisää aiheesta kerrotaan 13. syyskuuta alkavassa BUILD –konferenssissa (http://www.buildwindows.com/). Jos et pääse paikalle, voit seurata avauspuheenvuoroja myös verkosta.

Kesän askelmerkit

• Varmista, että käytössäsi on kaikki modernit selaimet
• Tutustu uusiin ominaisuuksiin: http://ie.microsoft.com/testdrive/
• Mobiililaitteiden vastaava testausympäristö: http://ie.microsoft.com/testdrive/mobile/
• Opettele hyödyntämään Modernizr–kirjastoa
• Lataa minimalistinen kehitystyökalu: http://www.microsoft.com/web/webmatrix/
• Osallistu Assembly 2011 tapahtuman selaindemo -kilpailuun
• Älä anna kaverisi käyttää IE6/7 –selainta!
• Liity myös Kauniin Webin kannattajaksi!

Juhani Vuorio toimii Microsoftin kehittäjä- ja alustayksikön evankelistana ja auttaa suomalaisia ohjelmistotaloja ymmärtämään Microsoftin teknologiaa - nykyisyyttä ja tulevaisuutta oman sovelluksensa kannalta.

Lähetä Tulosta Tilaa RSS-syöte
Takaisin ylös
Takaisin ylös
RSS

Uutiset

TTL ry
Pieni kirjapuoti
Takaisin ylös