Sådan sammensætter du en god tech stack

11 minutters læsning

Udgivet d. 26-08-2024

Opdateret d. 10-01-2025

guides appudvikling webudvikling teknologi tips & råd
Programmering

Uanset om du skal have bygget en app eller et IT system, skal du have sammensat den rette tech stack. En tech stack er samlingen af alle de teknologier, værktøjer og rammer, der skal bruges for at udvikle og drive et IT-projekt.

Selvom det måske ikke er dig, der skal bygge systemet, er det vigtigt, du sætter dig ind i de overordnede valg for tech stacken. Det er nemlig byggestenene bag dit system og har stor betydning for udvikling/videreudvikling af systemet, økonomi, skalering, fremtidige ansættelser, osv. Mere om det senere!

Når du har læst dette blogindlæg, er du blevet klogere på, hvad en tech stack egentlig er og hvilke dele, den består af. Du bliver klædt godt på til at træffe de rette valg for sammensætningen af lige netop din tech stack, hvilke ting du skal være særligt opmærksom på i processen, og hvad du skal gøre efter din tech stack er blevet sammensat.

Hvad er en tech stack?

Med en tech stack menes der alle de programmer, teknologier og frameworks der skal til for at udvikle og vedligeholde lige netop dit system.

Der findes ikke én færdig tech stack løsning, da sammensætningen af programmer og teknologier afhænger rigtig meget af dit behov. Der findes dog mange programmer og teknologier, der snakker ekstra godt sammen og derfor ofte ses samlet i en tech stack.

Hvad består en tech stack af?

Når vi skal sammensætte en tech stack til en app eller et IT system, kigger vi blandt andet efter følgende:

  • En server
  • En database
  • Et backend framework
  • Et frontend/UI framework
  • App udviklings framework
  • Et administration system/CMS

En server

En server er der, hvor dine data og tjenester bliver hostet. Det er altså der, det bliver opbevaret. Det er serveren, der håndterer anmodninger fra brugerne og sikrer, at de får adgang til de nødvendige ressourcer og informationer. Hos Holion bruger vi ofte en af følgende server-løsninger:

  • Firebase Functions: Som i virkeligheden er serverless*, men fungerer lidt som en backend. Firebase Functions skrives i sproget Javascript/Typescript
  • Azure Functions: Også serverless. Azure Functions minder lidt om Firebase functions, men skrives i stedet i C#
  • Azure app service: En server, som er dedikeret til at køre kode. Azure app service skrives oftest i sproget C#

*Hvad vil det sige, at en server er “serverless”?
Det er lidt misvisende at kalde det “serverless”, for det er sådan set stadig en server. Kort sagt handler det om, hvorvidt serveren forbliver tændt hele tiden, eller om den lukker ned mellem kald. Med serverless lukker du ned mellem kald, og det åbner op for, at andre kan bruge samme server, når du ikke bruger den.

En anden forskel er prisen. En traditionel server betaler du for døgnet rundt, selv når den ikke er i brug, men med serverless betaler du pr. kald og dermed kun for det faktiske forbrug. Det er en af de store fordele ved serverless.

Ulempen er derimod, at det kan tage lidt ekstra tid at håndtere et kald, og fordi serveren ikke husker noget for dig (fordi den lukker ned imellem hvert kald), kan der ikke optimeres på tværs af forespørgsler. Det bliver dog først et problem, hvis man har et MEGET stort system.

En database

I en database lagres og behandles alle dine data. Alt data gemmes på en overskuelig og struktureret måde, og kan derfor nemt tilgås. Hos Holion bruger vi ofte en af følgende database-løsninger:

  • Azure SQL: En helt klassisk SQL* database
  • Firebase firestore: En NoSQL database baseret på dokumenter

*SQL (Structured Query Language) er et sprog, der bruges til at administrere og manipulere data i databaser - fx at oprette, læse, opdatere og slette data. Det bruges til at strukturere forespørgsler for effektiv databehandling.

Et backend framework

En backend er alt det, der sker “inde bagved” appen eller IT-systemet. Det er backenden, der styrer logikken, databaser og server interaktioner. Man kan godt sige, at en backend er mellemmanden imellem server/database delen og frontend delen af en app eller et IT-system.

Hos Holion bygger vi backenden i det, der passer bedst til vores kunders behov. Til store projekter med integrationer til økonomisystemer, MitID eller lignende, er vi glade for at bruge .NET, fordi der er rigtig mange integrations muligheder. Til andre projekter bruger vi typisk Next.js.

Et frontend/UI framework

Et frontend/UI framework er det, der styrer brugergrænsefladen – det vil sige den del af appen eller systemet, som brugeren ser og interagerer med. Valget af frontend framework kan have stor betydning for, hvor let det er at skabe en brugervenlig oplevelse og sikre god performance. Hos Holion bruger vi primært React, fordi det er fleksibelt, har mange biblioteker og er populært blandt udviklere. Vi har også brugt følgende:

  • React
  • Vue
  • Next.js
  • Razor (C#)
  • Angular
  • Blazor

App udviklings framework

Når det kommer til app udvikling, kigger man ofte på, hvilken type app, der skal bygges. Når man ved det, kan man bedre vælge det framework, der skal bruges til at udvikle den. Her skal man blandt andet tage stilling til, om det er en simpel app eller om den har mange integrationer.

Man skal også vurdere, om man ønsker en crossplatform løsning, hvor appen udvikles til både iOS og Android med én kodebase, eller om man vil udvikle native apps separat til hver platform.

Hos Holion udvikler vi crossplatform apps, og her bruger vi ofte et af følgende app udviklings frameworks:

  • React Native
  • .NET MAUI
  • Flutter

Du kan læse mere om, hvorfor vi anbefaler crossplatform apps her.

Billede

App udvikling til dig, der allerede har et webbaseret system

Hvis du allerede har et webbaseret system, og ønsker at udvide med en app, anbefaler vi ofte starti.app. Det er et produkt, vi selv har bygget, og ligesom React Native, .NET MAUI og Flutter, kan du bruge det til at lave en app (faktisk er det bygget på .NET MAUI).

starti.app er afhængig af, at du i forvejen har et webbaseret system, der fungerer godt på mobilen. Det er nemlig det system og indholdet heri, appen tager udgangspunkt i. Fordi starti.app er baseret på dit websystem, er det langt billigere end at skulle udvikle en app fra bunden, og så bliver den endelige app opdateret hver gang dit websystem opdateres. Det betyder altså, at du ikke skal bekymre dig om at holde din app opdateret - det sker helt automatisk.

Læs mere om starti.app

Et administration system/CMS

Et CMS (Content Management System) er et værktøj, der gør det nemt at administrere indhold i en app eller på et website uden at skulle skrive kode. Et godt CMS er vigtigt, hvis du ofte opdaterer indholdet i din app eller dit system, da det giver “ikke-tekniske” brugere mulighed for at ændre indhold hurtigt og nemt.

Hvis dit projekt har behov for regelmæssig opdatering af indhold, kan et CMS som f.eks. WordPress, Umbraco eller Contentful være en vigtig del af tech stacken.

Hvorfor er det vigtigt at kende og sammensætte den rette tech stack?

En tech stack udgør de grundlæggende byggesten bag et IT-system eller en app og har stor betydning for både udvikling, videreudvikling, økonomi, skalering og fremtidige ansættelser i din virksomhed.

Ofte er det udviklerne, der sammensætter tech stacken, men det er vigtigt, at du som beslutningstager forholder dig kritisk til deres valg. Tech stacken påvirker nemlig både, hvor let det bliver at videreudvikle systemet, og hvor omkostningseffektiv løsningen er på længere sigt.

Når du sammensætter din tech stack, bør du overveje følgende

Er det en ny teknologi eller har den flere år på bagen?

Nye teknologier kan tilbyde smarte funktioner og øget sikkerhed, men de kan også mangle komponenter og værktøjer, som ældre, mere etablerede teknologier har.

Umodne teknologier kan give begrænsninger, især hvis der endnu ikke findes mange integrationer.

Findes der et stort community?

Modne teknologier med et stort community giver dig adgang til masser af dokumentation, guides og hjælp fra andre udviklere. Jo flere der bruger teknologien, desto lettere er det at finde løsninger på udfordringer.

Er det et programmeringssprog og programmer, som mange kender?

Det har måske ikke den store betydning lige her og nu, men det kan have en meget stor betydning for fremtidige ansættelser, at din tech stack benytter sprog og værktøjer, som mange udviklere kender.

En mindre kendt tech stack kan gøre det sværere at tiltrække kvalificerede medarbejdere. Simpelthen fordi de ikke kender teknologierne eller ikke kan lide at arbejde i dem.

Prisen

Prisen på de programmer og systemer, der udgør din tech stack, kan variere ret meget, og det kan hurtigt stikke af, hvis du ikke holder øje. Det kan være en rigtig god idé at kigge på de muligheder, hvor der nemt kan skrues op og ned i forbrug (og dermed også prisen) efter behov.

Sæt de rigtige teknologier sammen

Nogle programmer passer bare bedre sammen end andre, og du vil også opleve, at nogle af de helt store udbydere melder sig på banen flere steder i din tech stack. Derfor kan det være en stor fordel at vælge programmer og teknologier fra den samme leverandør de steder, hvor det er muligt. Så er du nemlig sikker på, at der er tænkt over, hvordan de forskellige programmer/teknologier snakker sammen og påvirker hinanden.

Noget andet vigtigt er at sørge for, at de valgte teknologier stadig opdateres og udvikles aktivt. Hvis ikke, risikerer du, at din tech stack hurtigt bliver forældet, hvilket kan føre til sikkerhedsproblemer og udfordringer med integrationer og videreudvikling. Det er derfor afgørende at vælge en tech stack, der både er fleksibel og langtidsholdbar, så dit projekt kan vokse med tiden.

Grafik af teknologier

Sørg for at holde din tech stack opdateret

Én ting er at sammensætte en god tech stack, noget andet, og mindst lige så vigtigt, er at vedligeholde og opdatere den. Ligesom du garanteret videreudvikler og optimerer på dit IT system, gør alle udviklerne af de programmer og teknologier, der udgør din tech stack det samme!

Derfor skal du løbende holde dig opdateret på, hvad der sker, og her er der særligt 3 ting, du skal holde øje med:

  1. Er der kommet en opdatering/en ny version af nogle af de systemer, du bruger? Ud over sikkerhedsopdateringer er det vigtigt at holde din tech stack opdateret, fordi ældre versioner af teknologier kan blive inkompatible med andre værktøjer eller frameworks, du bruger. Det kan føre til uventede problemer, når du videreudvikler eller skalerer dit system. Regelmæssige opdateringer kan også forbedre ydeevnen og tilføje nye funktioner, som kan gøre dit system mere effektivt eller fleksibelt.

  2. Kan du op- eller nedgradere nogle af de tools, du bruger? Mange softwaresystemer sætter prisen efter, hvor mange brugere, du har eller hvor mange kald, du laver til en server. Sørg for at gennemgå det løbende, så du sikrer dig, at du ikke betaler for meget, eller at du ikke pludselig løber tør for server-kald.

  3. Er der noget, der skal skiftes ud eller skrottes? Måske testede du et system, som ikke rigtigt blev brugt, men som du glemte at afmelde. Eller måske har du en server, der bare samler støv. Det kan også være, at der er kommet et nyt og bedre tool, som kan erstatte noget af det gamle.

Nummer 1 og 2 anbefaler jeg, at man sætter et par dage af til at løse én gang i kvartalet. Nummer 1 er især vigtig at overholde, da mange af de opdateringer, der løbende kommer, er sikkerhedsforbedringer.

Nummer 3 kan løses lidt ad hoc. Sommetider sker det helt tilfældigt, fordi din udvikler (eller du) bliver anbefalet at prøve eller læser om noget nyt. Noter det i din kalender cirka hvert halve år, så er du sikker på, at du ikke overser noget.

Sådan holder du styr på din tech stack

Et godt værktøj til at holde styr på din tech stack er at bruge en teknologiprotokol eller dokumentationsplatform som StackShare, hvor du kan liste og følge de teknologier, du bruger.

Derudover kan du implementere processer i din virksomhed, hvor der regelmæssigt laves en teknisk gennemgang af stacken, hvor både udviklere og beslutningstagere er involveret for at sikre, at der ikke overses vigtige opdateringer eller nye muligheder.

Billede

Konklusion: En fremtidssikret tech stack starter med de rigtige valg

At sammensætte den rette tech stack er afgørende for både nutidig og fremtidig succes med dit IT-system eller app. Ved at tage kritisk stilling til de teknologier, du vælger, kan du sikre, at din løsning er skalerbar, økonomisk bæredygtig og nem at videreudvikle.

Husk, at teknologi-landskabet udvikler sig hurtigt, så løbende evaluering og opdatering af din tech stack er lige så vigtigt som at vælge den rigtige tech stack fra starten.

Og bare rolig! Hvis du er nået hertil i din læsning uden at panikke fuldstændig på grund af alle de ting, du skal forholde dig til, skal du klappe dig selv på skulderen og slappe helt af!

Rom blev ikke bygget på én dag - det gør din tech stack heller ikke. Dette blogindlæg skal blot ses som en guide til, hvad du skal være opmærksom på, og hvordan du løbende skal holde din tech stack opdateret.

Holion står selvfølgelig klar til at hjælpe med både udvikling af din app eller IT system samt sammensætningen af en god tech stack, der giver dig de bedste forudsætninger for succes. Giv os et kald på 82 30 34 20, hvis vi skal tage en uforpligtende snak.

Sådan! Tjek din indbakke 👀

Vi har sendt dig en mail, som du lige skal bekræfte, før vi kan sende dig e-bogen.

Husk at tjekke spam hvis hvis mailen ikke er kommet inden for et par minutter.

E-BOG Version 2024

7 fejl du begår, når du overvejer en app

Og hvordan du undgår dem!

Tilmeld dig vores nyhedsbrev og få tilsendt e-bogen
Kom rigtigt fra start med din app, og undgå de dyre opstartsfejl. Denne e-bog giver dig 7 konkrete råd til, hvordan du kommer godt i gang med din app.

Når du tilmelder dig nyhedsbrevet, accepterer du Holions privatlivspolitik