Menu
FacebookLinkedinEmail
16/5 2019
postimage

Att välja mellan native och cross platform

Native eller Cross platform; Vad ska jag välja för att just min app ska bli så bra och kostnadseffektiv som möjligt?

Många har säkert hört talas om dessa två begrepp som dyker upp när man pratar apputveckling idag. Men vad är egentligen skillnaden mellan en native-app och cross platform-app? Och hur vet jag vad som är rätt för just mitt projekt?

Idag har vi två dominerande mobila plattformar; Apples iOS och Googles Android. Visst finns det fler, mindre, aktörer men det är sällan man behöver ta med dessa i beräkningen. I Sverige är det rätt jämt gällande fördelningen av användarna; ungefär hälften av alla smartphoneanvändare har en iPhone och ungefär hälften har en Androidtelefon. Globalt ser det dock annorlunda ut där Android dominerar marknaden med nästan 75 % jämfört med iOS på ca 23 %. Med detta som grund är det ju en självklarhet att man behöver ha en app som funkar på båda för att kunna nå så många användare som möjligt.

Android dominerar marknaden med nästan 75 %”

Det första man bör veta är att iOS och Android är utvecklade med olika programmeringsspråk och detta gör att vi måste utveckla appar för plattformarna i olika språk; Java eller Kotlin för Android och Objective C eller Swift för iOS. Detta gör att många appar kräver dubbla kodbaser, både gällande utveckling och underhåll. Givetvis är detta inte särskilt tidseffektivt men fram tills relativt nyligen var detta det enda alternativet som fanns om man ville komma åt fördelarna med en native-app.

Native är alltså vad vi menar med en app som är skriven i det programmeringsspråk och de verktyg som Apple och Chrome (i dessa fall) ämnar att appar ska skrivas i.

När man pratar om cross platform menar man tillvägagångssätt där vi inte behöver skriva kod i två olika språk och på så sätt spara tid och pengar både gällande utveckling och underhåll.

Fram tills för ett par år sedan fanns endast ett vettigt sätt och det var, enkelt uttryckt, att paketera en webbsida med ikon och allt som en mobilapp. Detta brukar man kalla för en webbapplikation eller en hybridapplikation. Nackdelen med detta tillvägagångssätt är att de kraftfulla inbyggda egenskaper som native iOS och Android erbjuder inte alltid finns tillgängliga och att webbappen inte heller kan utnyttja smartphonens hårdvara på samma sätt.

Därför har detta sätt att utveckla appar varit rätt begränsande fram tills relativ nyligen då ett nytt ramverk utvecklat av Facebook och Air Bnb gjorde entré på marknaden; React Native.

React Native har öppnat upp för möjligheten att använda många styrkor med native utan att behöva skriva två kodbaser. Exempel på appar som är utvecklade med React Native är Facebook, Instagram, Uber, Skype och Pinterest. Det är alltså stora aktörer som använder detta ramverk vilket har gjort att många andra har vågat haka på denna trend.

Vad finns det då för tydliga för- och nackdelar med dessa två utvecklingssätt?

Jag ska försöka rada upp några:

Native:

Fördelar:

  • Tillgång till alla nativefunktioner.
  • Snabb tillgång till, av Apple och Android, nyutvecklade funktioner
  • Kunna utnyttja hårdvaran på telefonen till fullo

Nackdelar:

  • Dubbla kodbaser
  • Kan kräva fler utvecklare eftersom flera språk krävs
  • Underhållet blir mer krävande

Cross platform:

Fördelar:

  • Delad kodbas
  • Billigare än native
  • Enklare underhåll
  • I vissa fall; möjlighet att använda appen även i en vanlig webbläsare

Nackdelar:

  • Kan inte alltid utnyttja alla funktioner som en native-app kan
  • Bygger på open-source vilket innebär det oftast tar längre tid för nya funktioner som Apple och Google lanserar att bli tillgängliga.

Så svaret på frågan om vilken typ som är bäst är inte helt enkelt. I en del färre fall krävs det kanske att man utvecklar en native-app men ofta räcker gott och väl med en app utvecklad med t.ex. React Native.

På Wopii älskar vi att snacka om just detta så tveka inte att kontakta oss för en pratstund om du har några funderingar eller frågor!

Vill du att vi ska kontakta dig?

Fyll i din email eller ditt telefonnummer så hör vi av oss

Skicka