Haastaako HTML5 perinteiset käyttöjärjestelmät sovellusalustana?

Kategoriat: Ohjelmistokehitys
Tagit: CSS3 HTML5 Javascript
Viime aikoina www-ympäristön kehitys on kulkenut kohti HTML5-standardin käyttöönottoa, joka huomioi entistä laajemmin sovelluskehittäjien tarpeita. Se tarjoaa muun muassa uusia rakenteellisia elementtejä ja ohjelmointirajapintoja, jotka mahdollistavat entistä useamman perinteisesti työpöytäsovelluksena toteutetun sovelluksen siirtämisen www-selaimella käytettäväksi. Näyttääkin siltä, että web-ympäristö on lähestymässä tasoa, jossa se pystyy haastamaan perinteiset käyttöjärjestelmät sovellusalustana.
HTML5:n tuomat tekniset uudistukset
HTML5 on nimenomaan teknologisesti tarkasteltuna webin seuraava kehitysvaihe. HTML5 mahdollistaa paikkatiedon hyödyntämisen, web-sovellusten käytön ilman Internet-yhteyttä, palvelimen ja selaimen välisen joustavamman keskustelun ja eri sovellusten välisen viestinnän eri domainien välillä. Se lisää myös web-dokumenttien semanttisen datan määrää, jolloin niiden sisältö on helpompi ymmärtää koneellisesti. HTML5 tarjoaa tarvittavat elementit ja ohjelmointirajapinnat videon ja audion liittämiseksi web-sovellukseen. Se myös mahdollistaa uudenlaisen tavan muodostaa ja käsitellä grafiikkaa ja animaatioita piirtoalustan, vektorigrafiikan, grafiikkakirjastojen ja CSS3:n avulla.
HTML5:n rajapintojen avulla tietokoneen tiedostojärjestelmää voidaan käyttää selaimen kautta. Tämä mahdollistaa tiedostojen tallentamisen ja lukemisen sekä hakemistorakenteiden läpikäynnin. Erityisesti mobiililaitteiden osalta mielenkiintoisia mahdollisuuksia tarjoaa sijaintitieto, jonka hyödyntäminen on HTML5:n myötä mahdollista. Uusi teknologia tukee myös laitteiden resurssien tunnistamisen ja niiden kanssa toimimisen selaimen kautta. Laitteiden resursseilla tässä voidaan tarkoitetaan esimerkiksi tietokoneen mikrofonia tai kameraa.
HTML5:n myötä web-sovellukset pystyvät lähettämään ja vastaanottamaan viestejä toisilta, eri domaineissa sijaitsevilta sivustoilta. Oikeasti reaaliaikaisten sovellusten toteuttamiseksi HTML5 tarjoaa kaksisuuntaisen WebSocket-yhteyden, joka tarjoaa vaihtoehdon webin alusta alkaen käytössä olleelle pyyntö-vastaus -mallille. Web-sovellusten taustaprosessien suorittamiseen HTML5 tarjoaa myös oman tekniikkansa, joka mahdollistaa hyvän vasteellisuuden myös raskasta laskentaa suorittavissa sovelluksissa. HTML5 tuo mukanaan myös mahdollisuuden tiedostojen ja tekstin raahaamiseen työpöydältä selaimeen ja selaimen elementistä toiseen.
Yleiset vaikutukset
Yleisesti ottaen HTML5 mahdollistaa web-ympäristössä täysin uudenlaisten sovellusten toteuttamisen ja tekee monien web-sovellusten toteuttamisesta helpompaa. Kehittäjän kannalta uuden HTML-standardin hyödyt tulevat hyvin esille, kun esimerkiksi Flashin käyttö voidaan korvata joissakin tilanteissa Javascriptillä ja HTML-kielellä. Toisaalta useimmat HTML5:n tuomista uusista ominaisuuksista vaativat vastaavasti enemmän Javascriptin käyttöä. Myös HTML-tageja sekä CSS-määrityksiä on käytössä paljon enemmän, minkä seurauksena web-tekniikoiden opiskelu on vaativampaa. Kehittäjien kannalta on kuitenkin hyvä, että opeteltavia teknologioita on vähemmän.
Käyttäjälle selkeimmin näkyviä muutoksia ovat videon ja audion toistaminen selaimessa ilman erillisiä selainlaajennoksia, joita usein parjataan tietoturva- ja käytettävyysongelmien vuoksi. Esimerkiksi äänen toistaminen on web-sovelluksessa vaatinut Flashin tai muun vastaavan teknologian käyttöä, mutta HTML5 -tuki mahdollistaa äänen toistamisen selaimessa itsessään.
Pohjimmiltaan HTML-kieli on ja pysyy suhteellisen yksinkertaisena tapana tuottaa sisältöä webiin. HTML5 ohjaa yhden ohjelmointikielen (Javascript), yhden tietomallin (XML ja DOM) sekä yhden elementtien asettelutavan käyttöön (CSS).
HTML5:n selaintuki
HTML5:n verrattain suuri määrä teknisiä uudistuksia ei saa selaintukea samaa tahtia, kun W3C ja WHATWG niitä määrittelee, vaan käynnissä on hidas siirtymä. Oman lukunsa siirtymävaiheeseen tuo selainvalmistajat ja -versiot, joita ei enää jatkokehitetä ja jotka eivät tue mitään HTML5:n ominaisuuksista, mutta joita suuri yleisö edelleen käyttää. Itseoikeutettuna esimerkkinä mainittakoon IE6, joka ei tue juuri mitään HTML5:n määrittelyistä, mutta jolla on vielä suhteellisen paljon käyttäjiä. Itseasiassa uusinta IE9 -versiota lukuunottamatta IE-selainten HTML5-tuki on hyvin vähäistä. Web-sovelluskehityksen kannalta hitaasta siirtymästä HTML5:een seuraa se, että uusien web-sovelluksien teknologiavalintoja tehdessä on pian otettava huomioon kohderyhmän käyttämien selainten HTML5-tuki. Toisaalta HTML5:tä hyödyntävien sovellusten lisääntyminen vauhdittanee vanhojen selainten katoamista, kun kasvava joukko sovelluksia vaatii selaimen päivittämistä.
HTML5 ei ehkä vielä ole tarpeeksi tuettu otettavaksi käyttöön laajasti, mutta sen käyttöönottoa ei tarvitse eikä kannata odottaa edes vuoteen 2014, jolloin standardin arvioidaan valmistuvan. Pienemmissä ja tarkemmalle käyttäjäryhmälle suunnatuissa web-sovelluksissa joitakin ominaisuuksia voi hyvinkin jo käyttää. Webistä löytyy useita sivustoja, jotka ylläpitävät listoja eri selaimien ja selainversioiden tukemista HTML5:n ominaisuuksista.
Vaikka HTML5 ei ole vielä kypsä käytettäväksi laajassa mittakaavassa, joillekin sen ominaisuuksille on jo olemassa hyvä tuki. Jo nyt kannattaa tutustua esimerkiksi uusiin, semanttisiin HTML-tageihin.
Tulevaisuuden näkymiä
Ongelmitta webin teknologisesti uuteen aikakauteen ei varmastikaan siirrytä, sillä selainpuolen ohjelmoinnin kasvava tarve lisää selaimen potentiaalisten tietoturvauhkien määrää. Tietoturva onkin yksi HTML5:een liittyvistä suurista kysymysmerkeistä, ainakin toistaiseksi. Tietoturvaan liittyviä vakuuttavia dokumentteja on tällä hetkellä vaikea löytää ja vaikka standardeja kehittävät tahot lupaavat HTML5:n parantavan web-sovellusten tietoturvaa, on asiasta vaikea vakuuttua ennen käytännön kokemuksia. Käytännössä paremman tietoturvan toteutuminen lienee paljolti selainvalmistajien ja kehittäjien vastuulla.
Millaisia uusia web-sovelluksia tulevaisuus sitten käytännössä tarjoaa? On hyvin mahdollista, että lähitulevaisuudessa näemme esimerkiksi web-pohjaisia videon-, kuvan-, ja äänenkäsittelysovelluksia, jotka on yleisesti toteutettu työpöytäsovelluksina.
Grafiikkakirjastojen selaintuki tuo myös 3D-pelit selaimien ulottuville. Verkkopelaaminen saattaa jossain vaiheessa kehittyä esimerkiksi siten, että pelivalmistajat tarjoavat pelejä jollekin pelipalveluita tarjoavalle sivustolle, jossa kirjautunut käyttäjä maksaa todellisen peliaikansa mukaan.
Yllä on esitetty vain muutamia esimerkkejä sovellustyypeistä, jotka voivat siirtyä työpöydältä web-ympäristöön. Entä millaisia web-sovelluksia sinä odotat ilmestyväksi? Jää nähtäväksi millaisiksi www-ympäristö ja selaimet kehittyvät, mutta muutoksen mahdollistavat teknologiat ovat hyvää vauhtia valmistumassa. Kun suurempi osa sovelluksista toteutetaan web-selaimella toimivaksi, mikä enää on perinteisen käyttöjärjestelmän osuus? Tarjota henkilökohtaista tallennustilaa ja toimia sovellusalustana web-selaimelle, joka itsessään toimii sovellusalustana?
On vaikea nähdä sellaista kehityssuuntaa, että perinteisten käyttöjärjestelmien työpöydiltä löytyy pelkkä web-selain ja käyttäjän henkilökohtaiset tiedostot. Tässä kohtaa tuntuisi luonnolliselta tiputtaa tällainen perinteinen käyttöjärjestelmä kokonaan pois ja tehdä kaikki selaimen kautta. Käyttäjä tarvitsisi vain omat henkilökohtaiset tiedostonsa ja web-selaimen. Kynnyskysymyksenä tässä voi olla minkälaiset sovellukset siirtyvät työpöydältä web-ympäristöön, tai paremminkin: minkälaiset sovellukset eivät milloinkaan voi toimia pelkästään web-selaimella? Onko sellaisia? Onko jo nähtävissä, että web-selain todella syrjäyttää perinteiset käyttöjärjestelmät ainakin joissain laitetyypeissä?
Lue lisää aiheesta diplomityöstäni





