www.vincit.fi SEKAISIN MOBIILISTA Juha Riippi
Dec 07, 2014
www.vincit.fi
SEKAISIN MOBIILISTAJuha Riippi
MITÄ LUVASSA?Fragmentaatio
Teknologiat Apuja valintoihin
�2
Android 4.3 WebKit lähdekoodi toDataURL() funktio
Sama funktio Android 2.3.x lähdekoodissa
FRAGMENTAATIOMitä se on ja miten se vaikeuttaa
mobiilisovellusten tekoa?
�4Kuva: http://www.mactrast.com/2012/05/visualized-‐the-‐truth-‐about-‐android-‐fragmentation/
�5
MOBIILIALUSTAT, TOP3
Tilastojen lähde: http://gs.statcounter.com/
WP 22%
Alustojen suosio Suomessa
Eurooppa WP 3,6% Globaalisti: WP 2,2%
Android 38%
iOS 36%
�7
iOS
Näyttökoko ja resoluutio
iPads vs
iPhones
iPhonet 3.5” ja 4”
Retina vai
ei-‐retina
Kuvat: http://david-‐smith.org/iosversionstats/
iOS Versiot
iOS7: iPhone 4 tai iPad2 ja uudemmat
• Samat ongelmat kuin iOS:llä • Lisäksi eri valmistajia, mutta käytännössä Nokia/
Microsoft nykyään 100% • Merkittävin ero WP7 <-> WP8 eivät yhteensopivia – WP8 paljon uusia ominaisuuksia ja muutoksia – WP7 ei päivitettävissä – WP8 osuus 78,3% joulukuu 2013 – WP7 puhelimia ei enää valmisteta
• Tablettisovellukset Windows 8 / WinRT sovelluksia
�8
WP FRAGMENTAATIO
�9
ANDROID: OS VERSIOT
• Päivitysten jakelu laitevalmistajilla: hitaat päivitykset • 4.x.x versioissa erot pieniä • Jos tuki pitää ulottaa 2.3.x versioihin, tulee enemmän
työtäKuva: http://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net
�10
ANDROID: NÄYTTÖKOOT
Kuva: http://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net
• Laaja valikoima eri näyttökokoja • Graafikolle mahdollisesti työlästä
�11
ANDROID: LAITTEET
Kuva: http://www.idownloadblog.com/2013/07/30/the-‐terrible-‐state-‐of-‐android-‐fragmentation/
599 eri laitevalmistajaa 11 868 erilaista laitettaHeinäkuussa 2013:
• Sovellus, joka tunnistaa puhelimen ollessa taskussa kävelyn, pyöräilyn, juoksun ja bussissa tai autossa matkustamisen
• Tehtiin Androidille, käytti Androidin rajapintoja liikkeen tunnistamiseen
• Ongelma: Sensorien toiminta laitevalmistajien päätettävissä • Mitä sensori tekee kun laitteen näyttö on pois päältä? • Osa laitteista sammutti sensorin, osa piti päällä,
pieni osa palautti jopa nolladataa • Millä taajuudella sensori palauttaa dataa? • Pyydettäessä 50 Hz, tuli vähän mitä sattuu ja usein ei
taajuus ei edes pysynyt vakiona
�12
CASE HOOKIE
�13
Kokonaan omat versiot Androidista
Ulkonäölliset uudistukset
ANDROID: ERI VERSIOT
Pinnalliset räätälöinnit
Kokonaan omat versiot Androidista
HALUAT KUITENKIN TEHDÄ MOBIILISOVELLUKSEN
Tässä tulee vaihtoehtoja miten
�14
�15
NATIIVISOVELLUS
SDK +
Lähdekoodi
Natiivisovellus
SDK +
Lähdekoodi
Natiivisovellus
SDK +
Lähdekoodi
Natiivisovellus
Natiivina toteutettu sovellusrunko
�16
HYBRIDISOVELLUS = HTML5
Natiivina toteutettu sovellusrunko
Webview
API Bridge
Alustan toiminnallisuus
HTML/CSS/Javascript
�17
HYBRIDITEKNOLOGIAT, KAKSI ERITTÄIN YLEISTÄ
�18
HYBRIDITEKNOLOGIAT, MUITA
• Sovellus metsästyskoirien liikkeiden seuraamiseen puhelimella
• Android ja Web Client • Natiivisovellus kaikilta muilta osin, paitsi HTML5
kartat • Tavoite: yhteinen koodi webclientin kanssa • HTML-karttateknologiaksi OpenLayers
�19
HYBRIDISTÄ OPITTUA
�20
HYBRIDISTÄ OPITTUA 2
Webview kartat
Natiivina tehty sovellus-‐logiikka
JSON
• Protoile riskit • Kartat hybrideissä hankalia – Käyttökokemus huonompi kuin natiivi – Suorituskyky huonompi kuin natiivi
�21
HYBRIDISTÄ OPITTUA 3
• Webclient toimii iPhonella hyvin
• Hyödyntää Androidiin tehtyä HTML-karttakoodia
�22
JOTAIN HYVÄÄKIN
�23
RISTIKÄÄNNETYT SDKT
SDK lähdekoodi
Kirjasto/ runtime
Natiivisovellus
�24
RISTIKÄÄNNETYT VAIHTOEHDOT
�25
RISTIKÄÄNNETYT VAIHTOEHDOT, PELEIHIN SUUNNATUT
MIKÄ TEKNOLOGIA KANNATTAA VALITA?
Eri vaihtoehtojen hyviä ja huonoja puolia
�26
�27
NATIIVISOVELLUS
Edut Haitat
• Look and Feel • Suorituskyky • Kaikki alustan
mahdollisuudet • Hyvät työkalut • Kartat ja muut
alustan APIt
• Kustannukset
�28
HYBRIDISOVELLUS
Edut Haitat
• Kustannukset • Look and Feel
varauksin • Päivitysnopeus jos
pääsisältö palvelimelta
• Uutissovellukset ja mediasovellukset
• Suorituskyky • Työkalut • Teknologian valinta
�29
RISTIKÄÄNNETTY SOVELLUS
Edut Haitat
• Suorituskyky • Kustannukset • Soveltuu etenkin
peleihin
• Look and Feel • Työkalut • Teknologian valinta
�30
HYBRIDI/HTML5 TAI RISTIKÄÄNNÖS ON AINA KOMPROMISSI
- MUTTA MONESTI HYVÄ SELLAINEN
MILLAISIA VALINTOJA OLEMME VINCITILLÄ
TEHNEET
�31
�32
ESIMERKKEJÄ NATIIVISTA
Kuva kaukosäätimestä: http://www.steinwaylyngdorf.com/products/model-‐c-‐components/model-‐c-‐remote-‐control
Steinway Lyngdorf Remote Evice
�33
ESIMERKKI HYBRIDISTÄ
Team Action Zone: ActionTrack
Muutamia media- taloille toteutettuja sovelluksia
�34
ESIMERKKI RISTIKÄÄNNETYSTÄ
Virittäjät, kaupoissa 11.3.
�35
VILLI KORTTI: MOBIILIWEB
Edut Haitat
• Päivitysnopeus • Samat UI-
teknologiat kuin hybrideissä
• Löydettävyys hakukoneilla
• Pieni käyttökynnys
• Erittäin rajoittunut pääsy alustan toimintoihin
• Hidas • Sovelluskaupan
tulot = 0€
�36
ESIMERKKI MOBIILIWEBISTÄ
EmotionTracker
• Teknologiasta riippumatta, tee ensin yksi alusta kuntoon ja pidä se “pääalustana”, jolle kaikki tehdään ensin
• Muita alustoja tehdessä: muista regressiotestaus jos hybridi tai ristikäännetty
• Etenkin hybrideissä ja ristikäännetyissä testauksen automatisoiminen kullan arvoista • Tosin etenkin automatisoitu järjestelmätestaus
kohdelaitteessa hankalaa • Jos et tunne teknologiaa hyvin, tee paljon protoja
�37
HYVIÄ KÄYTÄNTÖJÄ