2. Agenda
• Mobiililaitteiden ohjelmistokehitys
• Tutkimusongelma ja -menetelmät
• Tulokset
– Mobiiliohjelmien kehittäminen web-teknologioilla
– HTML5 uudet mahdollisuudet mobiilissa
– Testien tulokset
– Erot natiiviohjelmiin
• Johtopäätökset
Antti Vuorela
10.5.2011
3. Mobiililaitteiden ohjelmistokehitys
• Noussut keskeiseen asemaan
– iOS App Store 350 000 ohjelmaa, 10 miljardia latausta (1/2011)
• Hajautunut eri alustojen natiivitekniikoilla tehtävään
kehitykseen
– Lisää kustannuksia ja luo kuiluja alustojen välille
– Alustojen fragmentaatio tekee mahdottomaksi tukea kaikkia
Käyttöjärjestelmä Kehitysympäristö Ohjelmointikieli
Apple iOS iOS SDK Objective-C
Google Android Android SDK Java
Nokia Symbian Qt tai Qt Quick C++ tai JavaScript
HP WebOS webOS SDK JavaScript
Microsoft Windows
XNA tai Silverlight C#
Phone 7
Antti Vuorela
10.5.2011
4. Tutkimusongelma ja -menetelmät
Voiko Web-teknologioilla korvata alustakohtaisia
teknologioita mobiiliohjelmien kehittämisessä?
• Kirjallisuuskatsaus • Testatut alustat:
• Kokeellinen tutkimus – Android 2.2
– Oma testiohjelma – iOS 4.2
– Acid3-testi – Symbian^3 (PR1&2)
– HTML5-testi – WebOS 2.1
– Windows Phone 7
Antti Vuorela
10.5.2011
5. Mobiiliohjelmien kehittäminen
web-teknologioilla
• Web-sovellus suoritetaan selaimessa
– HTML, CSS & JavaScript
• Kehitys helppoa ja nopeaa
– Ei kääntämistä
– Testaaminen koneella ja laitteessa
• Käyttöliittymän rakentamiseen kirjastoja
– Testiohjelmassa JQuery Mobile (alpha 4.1)
• Paketoiminen natiiviohjelmaksi
– Esim. PhoneGap-kirjaston avulla
– Pääsy puuttuviin ominaisuuksiin
Antti Vuorela
10.5.2011
6. HTML5 uudet mahdollisuudet mobiilissa
• Rajapintoja laitteen ominaisuuksien hyödyntämiseen
• Lisäksi mm. offline-tallennus, 2D/3D grafiikka ja
multimedia
Antti Vuorela
10.5.2011
7. Testiohjelman tulokset
Suorituskyky Ominaisuudet
Sivunvaihto Android 4
Android
Käynnistys iOS 6
iOS
S^3 Qt ½ 5
S^3 Qt S^3 WRT ½ 3
S^3 WRT WebOS 6
WP7
WebOS
Geolokaatio
Kiihtyvyys
Canvas
Lista
Dialogi
Transitiot
Ei tuloksia
WP 7
0 2000 4000 6000
Aika (ms), pienempi parempi
Antti Vuorela
10.5.2011
8. HTML5 ja ACID3 -testien tulokset
Acid3 (max 100)
HTML5 (max 400)
99
100
93 92
91
12
182 206 235 111 170 17
Android iOS Symbian Qt Symbian WebOS Windows
WRT Phone 7
Antti Vuorela
10.5.2011
9. Erot natiiviohjelmiin
• Suorituskyky ja ominaisuudet kurovat kiinni
– Esim. JavaScript-moottoreihin tehdään paljon kehitystyötä
• Käyttöliittymä ja käytettävyys
– Alustojen käyttöliittymäerot tulee huomioida
– Yhtä hyvään lopputulokseen voi päästä kummallakin tavalla
• Ohjelmien jakelu ja ohjelmistokaupat
– Web-sovelluksella ei ohjelmistokauppojen rajoitteita
– Paketoimalla natiiviohjelmaksi saadaan ohjelmistokauppaan
• Liiketoimintanäkökulma
– Web-sovelluksella suurempi asiakaskunta
– Webin konvergenssi kasvattaa vielä mahdollisuuksia
Antti Vuorela
10.5.2011
10. Johtopäätökset
• Web-teknologioilla on mahdollista korvata
alustakohtaisia natiivitekniikoita
– Pienemmillä kustannuksilla useammalle alustalle
– Enemmän jakeluvaihtoehtoja
• Paras tuki on nyt iOS ja Android -laitteissa
– Muilla puutteita, mutta parantavat lähitulevaisuudessa
– Kehitys nopeaa, isot toimijat kilpailevat
• Suosittelen muiden kuin raskaimpien pelien
toteuttamista web-teknologioilla
Antti Vuorela
10.5.2011