Enligt analysföretaget Gartner är mer än hälften av alla mobilappar byggda med hybridteknik 2016. Begreppet hybrid avser i det här fallet att delar av en app utvecklas specifikt för det operativsystem den körs på, medan andra delar skapas med webbteknik.
En app som är specifik för ett visst operativsystem ger i dag bättre prestanda och funktion än webbappar. Men det krävs åtminstone en modifiering av koden och i många fall att programmen skrivs om med ett annat språk för att den ska fungera på ett annat operativ. För att få det bästa av båda världarna kan både teknik som är specifik för ett operativsystem och webbteknik användas.
– Vissa delar kan skapas med webbteknik, men ibland blir inte användarinteraktionen tillräckligt bra och viss funktionalitet måste uteslutas, säger Jonas Petersson, expert på mobilutveckling på konsultföretaget Sogeti.
I ett sådant fall, till exempel en spelapp, är det alltså tänkbart att skapa användargränssnittet med en operativsystemsspecifik teknik som språket Objective-C på IOS och andra delar med en webbteknik som Javascript.
Tomas Trolltoft, medgrundare av konsultföretaget Squeed, tror också på webbteknik för att skapa mobilappar, men konstaterar att ett genombrott tar längre tid än många trott.
– Många som trott på html5 för att skapa appar har blivit besvikna, men så småningom slår tekniken igenom, säger Tomas Trolltoft.
Gartner tror också att webbtekniken html5 slår igenom för mobilappar redan 2015. Webbtekniken blir enligt Gartner vanligare inom företagsappar än konsumentappar.
Ytterligare en strategi är att välja det äldre språket C++ för mobilutveckling. Dennis Gustafsson, spelutvecklare på Mediocre, är ett exempel:
– Sedan version 2.3 av Android kan man skriva hela appar i C++ och det går även att köra på IOS om man blandar med lite Objective-C-kod, säger Dennis Gustafsson.
Enligt honom är C++-program relativt flyttbara. Den största skillnaden mellan C++-kod för Android och IOS gäller hantering av ljud. Att hantera grafik fungerar däremot på samma sätt på de båda operativen.
Appar som skapas specifikt för ett operativsystem kallas ”native applications” på engelska.
För Apples operativsystem IOS används oftast språket Objective-C för att skapa sådana.
För Android används en variant av Java som vid behov kan anropa till exempel C-moduler för högre prestanda.
För Windows Phone kan till exempel C# användas.
Begreppet ”native” syftar ibland på program som kompileras till maskinkod, men i dagligt tal, vad gäller mobiler, behöver det inte vara så. Det är Androidappar som utvecklats med Java ett exempel på.
Även om grafiken i en app inte får tillräckliga prestanda med webbteknik som html5 och Javascript kan andra delar av appen skrivas med de språken. Så här spås fördelningen mellan teknikerna se ut 2015:
Konsumentappar
- Operativsystems-specifika appar 40%
- Hybridappar 40%
- Webbappar 20%
Företagsappar
- Operativsystems-specifika appar 10%
- Hybridappar 60%
- Webbappar 30%
Operativsystemsspecifika appar
Plus: Hårdvaran utnyttjas maximalt, vilket ger bästa möjliga prestanda och funktion. Det kan till exempel påverka användarupplevelsen på ett positivt sätt.
Minus: Kan inte användas på flera operativsystem. Det ger dyrare och krångligare utveckling för företag som skapar appar för flera operativ.
Webbappar
Plus: Fungerar på flera operativsystem. Det krävs bara en webbläsare för att köra apparna.
Minus: Sämre prestanda och funktion. Vissa saker går inte att göra i webbläsaren.