Apputveckling

Apputveckling är mer än att skapa appar till smartphones. Idag är det ett samlingsbegrepp för appar till flera olika typer av enheter och tekniska ramverk. Vi går igenom konceptet, skillnaderna och det du behöver veta innan du sätter igång med apputveckling. Och självklart hur vi kan stå till tjänst med apputvecklare i Stockholm.


Innehållsförteckning

  1. Vad är apputveckling?
  2. Native-, webb- eller hybridapp?
    • Native app
    • Progressiva webbappar
    • Hybridapp
  3. Tekniska ramverk för apputveckling
    • React Native
    • Xamarin
    • Flutter
  4. Sätt användarens behov i fokus
  5. Kundcase: Apputveckling som tar socialt ansvar
En apputvecklare hos Prototyp arbetar med många ramverk och enheter.

Vad är apputveckling?

Ordet app är en förkortning av ordet applikation eller mobilapplikation – vanligtvis förknippat med och nedladdat till smartphones och surfplattor. En app används framförallt för att ge en enhet extra funktionalitet. Det är också det senare som man tar hänsyn till när det gäller att utveckla en app – alltså vilken funktion det är man ska skapa.

Styrkan i en app är ofta att utföra en eller några uppgifter väldigt bra, i en enhet som målgruppen vanligtvis använder. Det kan vara en funktion som kompletterar ett företags befintliga närvaro eller helt enkelt vara den primära produkten för en verksamhet. I slutändan handlar det om att målgruppens behov och beteende ska omsättas till teknik och användarupplevelse. Det förstnämnda bestämmer det sistnämnda.

Mobil apputveckling för iOS eller Android är det man främst tänker på.

Native-, webb- eller hybridapp?

När man tänker på apputveckling tänker man troligtvis först och främst på native och mobil apputveckling för iOS och Android – vilket inte är konstigt. Men, med fler typer av tillgängliga enheter, förändrat konsumentbeteende och teknisk utveckling har valmöjligheten blivit bredare när det kommer till att bestämma “format” för sin app. Formatet påverkar funktionalitet och kostnad för apputvecklingen.

1. Native app

En app som utvecklas separat och för ett särskilt operativsystem (som t.ex. iOS och Android) kallas för en native app. De är oftast (men behöver inte vara) byggda enbart med respektive operativsystems egna verktyg och komponenter.

Fördelen med en native app är att den oftare medför ett snyggare gränssnitt och högre prestanda eftersom appen installeras och körs direkt i användarens enhet (vanligtvis smartphone) och därmed direkt kan nyttja dess hårdvara. Och om vi tar exemplet smartphone/läsplatta betyder det att en app får tillgång till och kan nyttja inbyggda funktioner som GPS, kamera, gyroskop, accelerometer och mikrofon.

Nackdelen med en native app är att den måste utvecklas separat till alla plattformar och tar lång tid att uppdatera.

2. Progressiva webbappar

Anledningen till att man länge valt att utveckla en native app istället för en webbplats (i avseende till funktion) är för att en app kunnat göra mer än vad en webbplats kan. Och det kan de fortfarande – men skillnaden har blivit mindre.

En progressiv webbapp (PWA) är en “nedladdningsbar webbplats” som fungerar och ser ut som en app. Appen sparar en offline-version av webbplatsen så att användaren kan komma åt innehållet utan internetuppkoppling – något som t.ex. inte är möjligt med en responsiv webbplats. Och eftersom webbappen dels går att komma åt via webben såväl som via en nedladdad offline-version så minskas beroende till operativsystem, uppkoppling och enhet – något som därmed ger progressiva webbappar en sorts “universell kompatibilitet”.

Eftersom det fortfarande är en webbplats så slipper utvecklarna ladda upp appen via App Store och Google Play, något som kortar ned ledtid och skapar mer frihet i distribution av programvaran samt innebär en smidigare apputveckling. Har användaren uppkoppling innebär det att de alltid får tillgång till senaste versionen. Och eftersom PWA i grund och botten är webbplatser innebär det också att sidor inom appen indexeras och går att hitta via sökmotorer – något som gör att användare kan dela och länka till delar av appen.

3. Hybridapp

En hybridapp, precis som namnet betingar, är en hybrid av native- och en progressiv webbapp. De byggs med en kodbas som passar för både iOS och Android samt kan laddas ner via deras respektive app-butiker. Kodbasen för hybridappar är HTML5, en kodbas som kommit väldigt långt och tagit till sig mycket av det som annars varit en fördel med att utveckla native-appar. Bland annat att kunna använda flera av mobilens inbyggda funktioner som t.ex. geo-positionering och push).

Anledningen till att hybridappar har blivit vanligare och ett allt mer populärt val är för att företag har upptäckt svårigheten med att stödja flera mobila plattformar samt vill komma bort från native-apputvecklingens beroende gentemot operativsystem och potentiella komplikationer. Däribland att operativsystemens versionsuppdateringar kan skapa buggar och t.o.m. krascher i ens app.

En annan fördel med hybrid är att du utvecklar en app, som kan användas för webb, iOS och Android istället för att utveckla en för varje plattform – något som brukar innebära att man kan korta ner utvecklingstiden och minska kostnaden för apputveckling.

Som med allt annat som är hybrid kan en sådan lösning innebära att man tappar lite funktionalitet jämfört med t.ex. en renodlad native app. Det gör det även mer komplext att rulla ut breda designförändringar eftersom användare som inte uppdaterat själva appen får en blandning av gammal app-design och ny webbdesign.

Ramverk för apputveckling

Det finns ett flertal ramverk för apputveckling men de tre mest använda, och de våra apputvecklare främst bemästrar, är de som har Facebook, Microsoft eller Google som avsändare.

React Native

React Native underhålls av Facebook och är ett open source-ramverk som i dagsläget är ett av de mest populära ramverken för apputveckling. React Native är besläktat med React.JS-biblioteket som används för webbutveckling och därför liknar mycket av själva apputvecklingen hur det är att utveckla en webbplats.

Till skillnad från andra JavaScript-baserade ramverk så har React Native en mer direkt och robust koppling till plattformens hårdvara. Och eftersom det gör att det flyter på bättre och svarar snabbare på användarens input ger det den där typiska “appkänslan”.

Xamarin

Xamarin har funnits sedan 2011 och är ett plattformsoberoende ramverk för utveckling av mobilappar framtaget av Microsoft. Det bygger på och använder sig av programmeringsspråket C# samt kompilerar UI-kod ner till plattformens inbyggda komponenter. Det betyder att Xamarin kan användas för att skapa väldigt kraftfulla appar som nyttjar datorkraften maximalt.

Flutter

Flutter är ett open-source-ramverk skapat, av Google, för reaktiv programmering. Det är ett relativt nytt ramverk men har vuxit snabbt sedan starten 2018. Flutter bortser ifrån och kringgår den drivande plattformens komponenter och renderar istället UI och grafik i sin egen 2D-renderingsmotor. Det gör att man kan skapa snabba appar som inte är lika beroende av inbyggda komponenter.

Sätt användarens behov i fokus

Frågan är inte om du ska bygga en native- webb- eller hybridapp. Frågan är vilket behov och för vem du ska utveckla funktionalitet.

  • Behöver du kunna skicka push-notiser eller räcker det med SMS?
  • Vilken/vilka hårdvaror?
  • Ska appen användas på marknader som har sämre uppkoppling, dyra dataplaner och/eller ha stöd för äldre telefonmodeller?
  • Vilka sekretesskrav finns?

Kundcase: Apputveckling som tar socialt ansvar

Är det något som vi brinner för på Prototyp så är det projekt som innefattar hållbarhet och att ta socialt ansvar. Och på den linjen bryter vi gärna ny digital mark. Däribland uppstod möjligheten för våra apputvecklare i Stockholm att, tillsammans med Antrop och Gapminder, skapa en app som skulle förändra den stora massans världsbild och besegra ignorans på en global skala.

Native vs. webbapp var en frågeställning som lyftes tidigt i projektet och efter noga övervägande utifrån vad målet var med produkten föll svaret på att utveckla en webbapp. Inga “App store-väktare”, inga enhetsberoenden och inga nedladdningar – med andra ord bra förutsättningar för att släppa en globalt skalbar produkt.

Läs mer om caset

Letar du efter apputvecklare i Stockholm?

Vårt team hjälper startups, tjänstedesignbyråer och stora bolag att fatta rätt tekniska beslut och säkerställer en effektiv apputvecklingsprocess. Våra apputvecklare i Stockholm har erfarenhet av iOS, Android och cross-platform-ramverk såsom React Native.

Vi brinner för att bryta ny mark och hjälper mer än gärna till och tar fram Proof-of-Concept, Prototyper, MVPs för banbrytande appidéer.

Låt oss prata apputveckling

Kom igång med apputveckling

Vårt team hjälper startups, tjänstedesignbyråer och stora bolag att fatta rätt tekniska beslut och säkerställer en effektiv apputvecklingsprocess.