YdelserGuide
Modernisering

Legacy JavaScript
skal sjældent skrives helt om

jQuery, AngularJS og gammel JavaScript-kode kan være dyr at ændre. Men en total rewrite flytter ofte risikoen i stedet for at fjerne den. Her er en mere kontrolleret vej til en moderne frontend.

Start med problemet

Gammel kode er ikke i sig selv teknisk gæld

Hvis en gammel JavaScript-del er stabil, sikker og næsten aldrig ændres, kan det være billigere at lade den være. Problemet opstår, når kodebasen gør ændringer langsomme, skaber fejl, låser jer til udgåede dependencies eller gør det svært at arbejde sikkert i den.

Derfor starter en modernisering med at identificere de områder, hvor den gamle teknologi faktisk koster noget. Ikke med et krav om at alt skal ende i det nyeste framework.

En praktisk rækkefølge

Modernisér omkring klare grænser

1. Kortlæg

Find kritiske flows, dependencies, globale sideeffekter, browserkrav og de dele der ændres ofte.

2. Skab testbarhed

Læg tests omkring de vigtigste forretningsflows, før adfærden ændres.

3. Adskil data og UI

Flyt API-kald og forretningslogik ud af DOM-kode, så frontend kan udskiftes i mindre bidder.

4. Indfør TypeScript selektivt

Start ved nye moduler og tydelige grænser. En big-bang konvertering er sjældent nødvendig.

5. Erstat feature for feature

Nye komponenter kan leve ved siden af gammel kode under en overgang.

6. Fjern det gamle

Dependencies og legacy-kode slettes først, når trafikken reelt er flyttet og den nye del er bevist.

jQuery & AngularJS

To forskellige moderniseringsproblemer

jQuery

jQuery er ikke nødvendigvis et problem i en lille stabil funktion. I større applikationer opstår udfordringen ofte, når DOM-manipulation, state og forretningslogik er filtret sammen. Her kan nye komponenter gradvist overtage afgrænsede områder.

AngularJS

AngularJS 1.x har været ude af officiel support siden 2021. Her bør risikoen vurderes mere aktivt. En strangler-tilgang, hvor routes eller funktioner flyttes gradvist, kan være mindre risikabel end en parallel total rewrite.

Framework-skift

Modernisering behøver ikke betyde React. Vue, Angular eller en enklere web-stack kan være bedre afhængigt af team, produkt og eksisterende arkitektur.

Hvornår rewrite?

Nogle gange er en ny kodebase stadig den rigtige beslutning

En rewrite kan give mening, hvis produktet samtidig ændrer sig grundlæggende, den eksisterende arkitektur ikke kan understøtte de nye krav, eller hvis en gradvis migration kræver dyr dobbeltvedligeholdelse i mange år.

Men beregn hele risikoen: skjulte forretningsregler skal genopdages, gamle edge cases skal genimplementeres, og ny software får også fejl. Bevar derfor den gamle løsning som reference, migrér data og brugere kontrolleret, og planlæg en reel rollback.

Et godt første mål

Vælg én funktion, som ændres ofte og har tydelige grænser. Modernisér den ende til ende og mål, om deploy-frekvens, fejlrate eller udviklingstid faktisk bliver bedre.

Sidder I fast i en gammel frontend?

Vi kan gennemgå kodebasen og lave en migrationsplan, der prioriterer risiko og forretningsværdi frem for en total omskrivning for omskrivningens skyld.

Book teknisk sparring