Kunskapsbank 14 juni, 2022

Välj rätt programmeringsspråk till din app

Är du i startgroparna med ert app-projekt och funderar på vilket programmeringsspråk du ska välja? Isåfall är denna artikel perfekt för dig.
Programmeringsspråk är verktygen som bygger de appar vi använder varje dag. Med dem skapas instruktionerna som talar om för våra enheter vad de ska göra. Beroende på vad du vill att din app ska göra, måste du välja ett lämpligt programmeringsspråk för ändamålet. Att använda ett språk som är för komplext kan göra ditt projekt onödigt kostsam, men ett snävt språk kan få dig att begränsa möjligheterna med din app.
Innan du väljer programmeringsspråk finns det några saker att tänka på. Du måste ta reda på vilken typ av app du vill bygga, vilket operativsystem appen kommer att användas på, hur komplex appen kommer att vara och vilka resurser och tekniker du redan har tillgång till.

Vi har skrivit en längre guide som går igenom ett projekt för att bygga appar i detalj. Den hittar du här 

Varför är programmeringsspråket viktigt?

De olika språken har olika egenskaper och används för olika ändamål. Vissa språk är mer lämpliga för vissa funktioner medan andra språk är mer lämpliga för andra.

Precis som verktygen hemma i verktygslådan lämpar sig bäst för sina specifika uppgifter har även de olika programmeringsspråken sina för- och nackdelar. Eller som vår VD Marcus uttrycker sig:

"Allt går att göra med en bågfil, men det är mycket lättare med en smörkniv om man ska bre en macka!" - Marcus Ödling, VD Mobile Interactions

Börja med att ställa rätt frågor

Eftersom valet av programmeringsspråk är lite knixigt kan du börja med att ställa dig tre frågor. Utifrån frågeställningarna kan du börja utvärdera dina alternativ.
Vad ska jag bygga?
När du planerar ditt projekt är det viktigt att fundera igenom hur avancerad din idé är och utifrån det sätta ambitionsnivån. För en enkel app kanske det räcker med att bara visa en informationsvy. En mer komplex app kan å andra sidan exempelvis använda de inbyggda sensorerna i enheten och kräver därför en mer avancerad utveckling.
Vad har jag för budget?
Budgeten är en annan fråga som kommer att påverka ambitionsnivån. Fundera på vilka funktioner och egenskaper du verkligen behöver och prioritera dem. Det låter självklart, men fler komplexa funktioner kräver helt enkelt en större budget.
Vilka resurser har jag?
Om du redan har kunskaper i din närhet för att utveckla en app bör du ta tillvara på dom. Kanske jobbar någon på företaget med webb? Då är de webbaserade språken lättillgängliga. Undersök därför i första hand om det är möjligt att ta tillvara på de resurser du har runt om dig.

Hur utvecklar man för de olika plattformarna?

En app är som en webbläsare, den är till för att konsumera innehåll. Men skillnaden mellan en webbläsare och en app är att appen är betydligt mer användarvänlig än en vanlig webbläsare på mobila enheter.

Appar utvecklas, rent tekniskt, antingen för varje plattform för sig, eller i någon form av hybrid eller för fler plattformar på samma gång. Det har vi skrivit lite om i det här inlägget om du vill fördjupa dig.
De två stora plattformarna för mobila enheter är som bekant iOS (Apples iPhone och iPad) och Android. Snabbt förklarat så finns det de appar som kallas för “native” och som är programmerad i de språk som är tänkt för den specifika plattformen. För iOS handlar det om Swift eller Object-C, och för Android är det Kotlin eller Java. 

Spara pengar genom att utveckla för båda plattformarna samtidigt

Om du vill att din app ska finnas för både iOS och Android är det smart att titta närmare på en multiplattformslösning. På så vis behöver du inte utveckla, och underhålla, två parallella appar. En ny och spännande lösning är Kotlin Multiplatform, där man kan återanvända delar av programmeringen/logiken mellan de olika plattformarna. Resultatet blir en stabil app-lösning som fungerar både för iOS och Android. Dessutom sparar det tillvägagångssättet en hel del tid och pengar i projektet.

En fördjupning i de mest använda språken

Vi har redan snuddat vid språken när vi pratade om de olika teknikerna (Native och Multiplattform). Vi konstaterade där att iOS och Android behöver olika programmeringsspråk. Här kommer därför lite mer djuplodad information om de vanligaste språken.
För Android – Java och Kotlin
Java är ett mångsidigt programmeringsspråk som släpptes första gången 1995. Det blev snabbt populärt på grund av dess enkla användning och förmåga att köras på en mängd olika plattformar. Idag används det av över 10 miljoner utvecklare över hela världen och var fram till 2019 det föredragna språket för att utveckla Android-applikationer. 2019 meddelade Google dock att Kotlin skulle vara det föredragna språket framöver. Kotlin är ett språk med öppen källkod som är kompatibelt med Java. Det används inte lika mycket (än) som Java, men det blir allt mer populärt på grund av dess enkelhet och effektivitet. Dessutom är Kotlin ett universellt språk som kan användas för olika applikationer, inklusive Android-utveckling, webbutveckling och server-side.
För iOS – Objective-C och Swift
Både Objective-C och Swift är utvecklade av Apple för iOS. Objective-C har funnits i många år och var fram till 2014 apples föredragna språk för iOS-appar. Modern teknik kräver högre hastighet och då presterar Swift än Objective-C. Swift är även lättare att både läsa och skriva. Objective-C behöver nämligen fler symboler, semikolon och parenteser i sin syntax. En annan fördel är att Swift är ett open source-projekt vilket ger användarna möjligheter att påverka och förbättra språket.
Det finns som sagt inte ett rätt svar på vilket programmeringsspråk man ska använda. För det mesta går som sagt att göra på fler än ett sätt, bara man har tillgång till rätt kunskap. När det finns oändligt med val gäller det dock att utvärdera valen ordentligt och vara på det klara med vad man vill bygga från början.