I tidigare inlägg har vi pratat om skillnaden mellan back-end- och front-end-utvecklare. Du kan läsa mer om det här. I det här inlägget kommer vi gå närmare in på vad en apputvecklare faktiskt gör, hur stor del av en utvecklares tid som läggs på utveckling och hur mycket som läggs på underhåll samt vad som skiljer en iOS-utvecklare och en Android-utvecklare åt. Numera finns även cross-platform utvecklare, som vi också tar upp i det här inlägget och jämför med iOS / Android utvecklare.

Utveckling

Innan appen börjar utvecklas krävs det att utvecklaren får all den information som behövs för att skapa appen. Det kan till exempel vara en lista med funktioner, designmål, budget och vilka enheter appen ska utvecklas för. Att som företag köpa en app är mer som att köpa än tjänst än vad det är att köpa en produkt. Du kan inte gå till affären och köpa en färdig app. Istället tar du och utvecklaren tillsammans fram en kravspecifikation och efter det kan utvecklaren lämna en offert eller ett estimat.

Underhåll

En minst lika viktig del av utvecklingen är det som sker efter att appen är färdig och har lanserats. För det första lanseras ofta appar i form av en MVP-app, det vill säga en app som har allt det grundläggande som krävs. Efter det kan kunden vilja lägga till ytterligare funktioner och bygga ut appen. Många appar är även beroende av olika tredjepartsintegrationer, exempelvis e-handelstjänster, Facebook-funktioner, kartfunktioner och mycket mera. I så fall måste appen uppdateras när tredjepartintegrationen uppdateras. Utöver det uppkommer det alltid buggar eller andra små problem som måste åtgärdas.

Utvecklare av Android-appar

Android är det mobila operativsystem som ägs av Google. De främsta mobiltillverkarna som använder Android är Samsung och Sony (även Googles egna men dock inte så populära Nexus). Det innebär att det är busenkelt att integrera andra Google-tjänster som exempelvis YouTube, Maps och  Gmail. Den kodbas som används för Android-utveckling är ofta en öppen källkod, vilket innebär att alla kan lära sig att utveckla appar till Android OS.

Fördelar med att utveckla för Android:

  • Flexibilitet

I allmänhet är utvecklingsmiljön för Android betydligt mer tillåtande och risken att stöta på kompatibilitetsproblem för hårdvara (om det inte är Apples hårdvara)är låg. I och med att operativsystemet förlitar sig på Java är utvecklingen oftast betydligt smidigare eftersom Java är ett programmeringsspråk som används för Windows, Mac OS och Linux.

  • Kunskapsbas

Google tillhandahåller gott om resurser för de som utvecklar för Android. De erbjuder bland annat nybörjarkurser, interaktivt material och hela utbildningar för allt från nybörjare till erfarna utvecklare.

  • Lanseringen av appen

Google var förr i tiden ännu slappare vad gäller lanseringen av appar på Google Play Store. Innan accepterades appar automatiskt inom sju timmar, men efter en förändring 2020 kan det nu ta upp till en vecka för nya utvecklare. Trots denna förändring är det betydligt enklare att lansera en app på Google Play Store än vad det är att göra samma sak på App Store.

  • Mer än bara smartphone

Det är inte bara telefoner och surfplattor som använder Android OS. Stora delar av IoT-sfären består av Android OS med allt från smarta kylskåp och bilar till klockor och dörrlås.

Nackdelar med att utveckla för Android:

  • Kvalitetskontroll

Medan det är en stor fördel att det går att utveckla för flera plattformar samtidigt innebär det att det blir mer komplicerat att buggtesta appen.

  • Kostnad

Det är oftast mer tidskrävande att utveckla för Android, vilket innebär att kostnaden för att utveckla appen ökar.

  • Potentiella säkerhetsproblem

Android-enheter är mer utsatta för virus och andra hot än iOS-enheter, helt enkelt eftersom Android är en mer öppen plattform än iOS.

Utvecklare av iOS-appar

iOS är Apples operativsystem som används för iPhones och iPads. iOS-utvecklare använder Swift eller Objective-C för att skapa appar som kan hantera användarinteraktion, visa data, notiser, hantera navigering, text, video och så vidare.

Fördelar med att utveckla för iOS:

  • Prestanda

En stor anledning till iOS framgångar är att appar som släpps igenom Apple Store tenderar att ha bra prestanda.

  • Apples ekosystem

En viktig del av Apples affärsidé är att locka in användare i deras ekosystem genom att göra det bekvämt att använda Apple för alla olika enheter (datorer, telefoner, surfplattor osv). Samma sak gäller även åt andra hållet; det är oftast väldigt obekvämt att kombinera exempelvis en telefon från Apple och en dator som inte är från Apple. Om man som utvecklare fokuserar på Apples ekosystem blir det i regel en enklare utvecklingsmiljö då olika enheter i ekosystemet följer samma struktur.

  • Fläckfritt UI/UX

Apple tillhandahåller utvecklare detaljerade riktlinjer för hur användargränssnitt bör se ut. Det kan förvisso vara begränsande för kreativa själar, men samtidigt leder det till att mindre fokus behöver läggas på att designa gränssnittet och resultatet leder till en bra användarupplevelse.

Nackdelar med att utveckla för iOS:

  • Strikt utvecklingsmiljö

För att utveckla för iOS behöver utvecklare specifik mjukvara, XCode, som bara fungerar på Mac. Med andra ord behöver utvecklaren en Mac-dator för att utveckla en app för iOS.

  • Lanseringen av appen

Apple Store är betydligt striktare än Google Play Store. Det har sina för- och nackdelar. Fördelen är att apparna som släpps är av högre kvalitet. Nackdelen är att din högkvalitativa app kan fastna i godkännandeprocessen och att det kan ta lång tid att genomföra uppdateringar.

  • Anpassningsbarhet

Det är i regel svårare att få appar att interagera med andra appar på iOS än vad det är på Android. Mer komplexa appar kan därför bli svårare att utveckla för iOS.

Utvecklare av Crossplatform-appar

En cross-platform-utvecklare använder ett ramverk för att bygga appen till både plattformarna Android och iOS, med en enda kodbas. Det finns ett antal olika ramverk för att bygga cross-platform appar som tillexempel React Native, Flutter och Xamarin.

Fördelar med Cross-platform utveckling

● Kostnadseffektivt

Den stora fördelen med cross-platform-utveckling är att man slipper utveckla för Android och iOS separat. Med en kodbas täcker man båda plattformarna. Vilket halverar utvecklingskostnaden på front-end. Den ökade komplexiteten i att hantera två programmeringsspråk istället för ett ger i sig ofta ytterligare ökade kostnader. Man måste ha utvecklare med olika kompetens på front-end vilket har en direkt effekt om man har egna anställda, och kan reflekteras på timpriset om man anlitar en app-leverantör.

Kort tid till marknaden

Med en kodbas istället för två, på front-end, minskar komplexiteten och man kommer snabbare ut på båda plattformarna än om man utvecklar för Android och iOS separat. Med en kodbas blir man per automatik klar samtidigt för båda plattformarna. Det enda som skiljer lanseringstidpunkten åt är att det kan ta lite längre tid att bli godkänd på Apple Store än på Google Play Store.

● Underhållsvänligt

En kodbas istället för två är lättare att underhålla. Inkomna buggar behöver enart åtgärdas i en kodbas. För varje ny version kan man lansera samtidigt på Apple Store och Google Play Store.

Nackdelar med Cross-platform utveckling

● Lägre prestanda

När man utvecklar mot Android och iOS separat är det enklare att optimera prestandan. För cross-platform kan det vara en tuffare utmaning, helt och hållet beroende på hur avancerad och interaktionsintensiv den är. Ramverken för cross-platform blir allt bättre och den här skillnaden minskar ständigt. Sen beror det även på hur skicklig cross-platform utvecklaren är.

Begränsad funktionalitet

Cross-platform-utvecklaren är beroende av cross-platform-ramverket för att använda sig av funktioner och komponenter. Som tillexempel chat men även för att använda mobilens hårdvara så som mikrofon, kamera etc. Detta är sällan ett problem då ramverken idag stödjer i det närmaste allt. Däremot kan uppdateringar i ramverket ibland ställa till tillfälliga problem och det kan bli en viss eftersläpning av stöd för nya mobiler med nya funktioner.

Begränsad UI/UX

Numera är det sällan man kan känna igen på designen huruvida appen är gjord i cross-platform eller i Android eller i iOS. Möjligen kan man se det mer på iOS på grund av de styrda UI/UX riktlinjerna. Samtidigt är det värt att känna till att, likt prestandan, så är det enklare att optimera UI/UX när man utvecklar specifikt för Android eller iOS.

Behöver du en app?

För att nå hela marknaden behöver du givetvis en app som fungerar både på Android och iOS. Även om det kostar mer är det värt det om dina potentiella användare är jämnt fördelade över båda plattformarna. Läs mer om Full-stack-utveckling här, och kontakta oss så pratar vi mer om den app som du behöver!