Hybrid-Native-HTML5

Etter at Facebook forlot HTML5 til fordel for Native i slutten av 2012 og LinkedIn gjorde det samme i 2013, har diskusjonen rast om hvilken type mobil app som er riktig å gå for. Mange av de som trodde at HMTL5 og hybrid var riktig valg har forandret mening. Hvis gigant it-selskapene LinkedIn og Facebook ikke klarer å få HTML5 appene til å fungere tilfredstillende, hva er da sjansen for at andre firmaer som etter all sannsynlighet har mindre ressurser skal klare å lykkes med HTML5.

Først en forklaring på hva som er forskjellen mellom Native, HTML5 og Hybrid.

Mobility-L-e1376046892912-300x252

Native app´er er spesifikke for hver enkelt mobil plattform, som foreksempel iOS, Android, Windows og Blackberry. Da bruker man utvikler verktøyene og programmeringsspråket som hver enkelt plattform støtter. Foreksempel Xcode og Objective-C for iOS, Eclipse og Java for Android. Generelt så sier man at Native app´er ser og presterer best.

HTML5 app´er bruker standard webspråk som HTML5, JavaScript and CSS. Her brukes nettleseren i mobilen for å kjøre appen og dermed får man en «cross-platform» mobil app som virker på ulike mobiltelefoner uavhengig om det er Iphone, Android eller Windows telefon. HTML5 er blitt et avansert programmeringsspråk som gjør at utviklere kan lage gode app´er med HTML5, CSS og Javascript alene, men likevel er det fortsatt visse begrenseringer når dette skrives. Begrensingene gjelder spesielt forhold tilknyttet utvikler verktøyene, sikker offline lagring og tilgang til funksjonalitet spesielt for de ulike mobile plattformene (kamera, kalender, gps, etc).

Hybrid app´er er laget som en HTML5 app, men som er pakket inn i en «native» innpakning med verktøy som PhoneGap og Titanium . Tanken bak hybrid app´ene er å kombinere de beste elementene fra Native og HTML5´ene.

En annen viktig forskjell mellom de 3 ulike metodene er hvor de kan gjøres tilgjengelig.

En Native App og hybrid app kan etter å ha blitt godkjent gjøres tilgjengelig på sine aktuelle plattformer, som AppStore, Google Play Store etc. En HTML5 app derimot kan ikke gjøres tilgjengelig gjennom AppStore, GooglePlay Store etc. En HTML5 app må gjøres tilgjenlig på andre måter. Dette er en ulempe da mange idag bruker disse stedene som førstevalg for å finne nye app´er. På den andre siden er ikke HTML5 app´er avhengig av godkjenning fra Appstore og Google som er tilfellet for de Native app´ene. En HTML5 kan dermed markedsføres via alternative kanaler. I tillegg har Amazon Appstore nå åpnet for HTML5 app´er, og man vil kanskje etterhvert se en dreining for uavhengige steder blir mer populært og de ulike app butikkene som blir kontrollert av selskapene bak blir mindre populære. Tanken om at internett skal være fritt støtter i hvertfall tanken til de som tror at vinneren på sikt blir de uavhengige app butikkene.

Illustrasjonen under viser i korte trekk forskjellen.

Native_html5_hybrid

Når LinkedIn ble spurt i april 2013 om hva som var årsaken til at de valgte å gå fra HTML5 til Native, uttalte Kiran Prasad, LinkedIn’s senior director for mobile engineering at hovedårsaken var at flere og flere av deres brukere brukte app´en over lengre tid og at problemet da var at app´en gikk tom for minne. En annen grunn de oppga var at de ønsket å få animasjonene til å fungere mer flytende. På spørsmålet om hva som skulle til for at de skulle ta i bruk HTML5 var svaret hans at HTML5 trengte bedre utvikler verktøy som er tilgjengelig for Android og iOS, som gjør det lettere å feilsøke når ting går galt i produksjonen. Hans syn var at pågrunn av disse manglene, så faller bedrifter tilbake til Native og at det ikke er HTML5 som enda ikke er klart, men økosystemet rundt HTML5 som ikke støtter det godt nok og at verktøyene er i startfasen.