Varför du behöver en backend till din app
En app behöver väldigt ofta en uppsatt backend-server för att fungera. I denna blogg-post går vi igenom vilka funktioner som kräver detta och vad du bör tänka på innan du startar ett approjekt med tillhörande backend.
Man gör ofta skillnad på frontend och backend. Frontend är det som syns ut mot användaren. Det kan vara en app eller en hemsida, det visuella som användaren ser direkt framför sig.
Backend är motsatsen, det som användaren inte ser. Det är en server som sköter allt det bakomliggande jobbet. Servern är uppsatt någonstans i världen och hanterar data och funktionalitet som en app inte klarar av.
Hantering av data
En backend är ett utmärkt ställe att lagra en databas i. En databasen som är gemensam för alla användare och instanser av appar. Du har normalt en server medans du har många användare av din app. En backend är alltså ett bra ställe att spara data som ska finnas kvar även om användaren stänger ner din app, byter mobil eller loggar in från en annan enhet.
Du kan alltså synkronisera det som visas i en app med en server för att där hela tiden hålla en kopia på data som används i appen. Det kan vara data som är kopplat direkt till en specifik användare. T.ex. en profilbild, e-post-adress, lösenord eller adressuppgifter. Denna data kanske oftast är hemlig och tillgången begränsas till en specifik användare.
Du kan också spara data som är tillgänglig för flera användare. Det kan vara annonser som ska kunna visas för alla alternativt en chatt-historik som kanske bara ska vara tillgängliga för de två användare som har chattat med varandra.
Med en server kan du alltså styra vad för typ av data du vill lagra och vem som ska få tillgång till den.
Integrera andra tjänster
Av säkerhetsskäl kan du ibland inte integrera vissa tjänster direkt från din app. Detta skulle t.ex. kunna vara Mobilt BankID eller betallösningar. Anledningen är att koden som en app kör går att modifiera eller påverka. Du skulle alltså kunna lura ett system att du är någon annan eller få ut hemliga nycklar som låter dig bygga egna appar för att skimma andra.
Man brukar säga att en app eller websida egentligen inte går att "lita på". En server agerar då som en trovärd part i systemet som inte går att modifiera eller avläsa nätverkstrafik ifrån. Därför bör man göra alla viktiga funktioner och hantering av all känslig data på sin egen server.
Schemaläggning
En annan funktion som bara en server kan utföra är schemaläggning. En app körs kanske inte alltid dygnet runt på en användares telefon. Appen kan vara avstängd eller till och med avinstallerad. Ibland vill man kunna utföra funktionalitet på bestämda tider oavsett om appen är igång eller inte. Det skulle kunna handla om ett mail-utskick eller uppdatera databasen vid speciella tidpunkter. En backend, som alltid är "påslagen" kan lätt konfigureras att utföra speciella funktioner vid specifika tidpunkter.
Vad av backend-leverantör
Det finns några olika stora leverantörer av molntjänster/backend-lösningar. Tre av de största är:
- Amazon (AWS)
- Microsoft (Azure)
- Google (Firebase)
Firebase
På Appmost utvecklar vi främst mot Googles Firebase. Firebase anser vi vara mest lämplig för små och medel-stora appar av flera anledningar. Bland fördelarna finns:
- Skalbar prissättning som börjar gratis och är relativt billig
- Användarvänlig dashboard
- Möjlighet att lagra sin data i Europa
- Bra stöd för push-notiser
- Stort bibliotek med tredjeparts-integrationer
- Enkel valfri koppling mot Google Analytics
Då vi på Appmost främst använder Firebase har vi idag satt upp smidiga verktyg för att bygga appar och integrera mot just Firebase. Vi kommer alltså snabbt igång med integrationen och utvecklar och deployar kod mot en uppsatt Firebase server snabbt och smidigt. Vi bygger även system som är lätta att integrera mot med till exempel ett webb-CMS (Content Management System) för smidigt uppdatering av innehåll.
Vi har idag bra med standardiserad kod i mallformat vilket gör att vi snabbt bygger de vanligaste funktionerna du kan tänkas behöva. Vi har även standardiserat vanlig funktionitet så som:
- Skapa ett användarkonto
- Logga in som användare
- Verifiera användarkonto
- Glömt lösenord
- Ta bort konto
- Byt lösenord
- Spara användardata
- Skicka ut push-notiser
- Skapa Excel-rapporter
- Skicka ut email
Vi hjälper gärna till
Hos Appmost hjälper vi dig hela vägen från kravställning eller idé till en färdig app på App Store och Google Play. Vi har över 15 års erfarenhet av apputveckling och har byggt och släppt de flesta typer av appar.