React

03. May 2023

7 gode grunde til at bruge React som udvikler

Casper Panduro

Casper Panduro

Freelance web-entusiast | React, React Native og Laravel 🚀

React er (for a fact) et af de mest populære JavaScript-frameworks i verden. Helt fra begyndelsen i 2013 har React forvandlet måden, hvorpå man som frontend-udvikler kan udvikle fantastiske UI's og SPA's (Single Page Applications).

Selv har jeg været omkring både jQuery (in the early days) og Vue, men jeg må bare sige at jeg er forelsket i React. Jeg har forsøgt mig med at samle de 10 bedste årsager, der gør at React uundværlig for mig.

1. Komponentbaseret arkitektur

For alle os som elsker at strukturere sin kode i komponenter, så er React altså bare en vinder. For mig at se, så kan du som udvikler relativt hurtigt nå dit slutresultat når du arbejder struktureret og udvikler genbrugelige og selvstændige komponenter i React. Denne arkitektur gør det muligt for udviklere at opbygge brugergrænseflader ved at sammensætte uafhængige og genbrugelige komponenter, som hver repræsenterer en isoleret del af brugergrænsefladen.

React-komponenter fungerer som byggeklodser, der kan genbruges på tværs af forskellige dele af en applikation eller endda i andre applikationer. Dette reducerer mængden af kode, der skal skrives og vedligeholdes, og gør det nemmere at opnå konsistens i design og funktionalitet.

Et godt eksempel er en knap. En knap bliver ofte brugt mange steder på et website og derfor er det oplagt at lave et komponent til en knap.

Et meget simpelt eksempel på en knap:

const Button = ({children, href, ...props}: Props) => {
    if(href) {
        return (
            <Link
                href={href}
                {...props}
                className="rounded-full bg-indigo-600 px-6 py-2.5 text-base font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
            >
                {children}
            </Link>
        )
    } else {
        return (
            <button
                {...props}
                type="button"
                className="rounded-full bg-indigo-600 px-6 py-2.5 text-base font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
            >
                {children}
            </button>
        )
    }
}

2. Let at lære

React er et relativt simpelt framework når først du lærer at forstå hvordan du skal bruge det. Desuden er der et hav af ressourcer, tutorials og dokumentation, der kan hjælpe dig på vej.

Nogle af de mest basic ting man, efter min mening, bør lære først er: JSX syntax, State mangement og useEffect funktion'en. Med de 3 ting kan du opnå vilde ting med React.

3. Bredt økosystem

React's popularitet har ført til et stort og aktivt community, der har skabt et væld af biblioteker, værktøjer og komponenter, som man nemt kan bruge i sin applikation. Dette gør det nemt at finde løsninger og vælge de bedste værktøjer til dit projekt.

Et af mine must-haves på React projekter er "Framer Motion", som er et animations bibliotek til React. Med Framer Motion kan man relativt hurtigt opnå nogle rigtig lækre animationer i sin applikation - hvilket kan være medvirkende til at give en fantastisk brugeroplevelse for den besøgende.

4. Understøttelse af server-side rendering (SSR)

Et af de helt afgørende argumenter og helt essentielt når man udvikler hjemmesider eller webshops, er at de kan blive vist i Google's Søgeresultater. Som udgangspunkt kan man ikke bruge React til at udvikle hjemmesider, med flere sider, og få Google til at indexere dem. Den helt simple grund til det er at React er et client-side bibliotek. Hvilket vil sige at det er først når man besøger hjemmesiden at indholdet bliver genereret - groft sagt.

Heldigvis er der også mulighed for at lave en React applikation som bliver renderet af serveren - altså før at brugeren besøger hjemmesiden. Det er helt afgørende for at SEO! Man kan nemlig lave en SSR React app med Next.js. Jeg er kæmpe fan af Next.js - og hvis du planlægger at få lavet et website eller webshop på et tidspunkt, så kan virkelig anbefale at bruge Next.js til frontenden!

5. Fremragende ydeevne

React's virtuelle DOM (Document Object Model) er en af de primære faktorer, der bidrager til dets fremragende ydeevne. Når en applikation udvikles med React, oprettes der en letvægts repræsentation af den faktiske DOM, kaldet den virtuelle DOM. Når der sker ændringer i applikationen, opdateres den virtuelle DOM først, i stedet for den faktiske DOM. Derefter sammenlignes den opdaterede virtuelle DOM med den tidligere version for at finde forskellene, en proces kaldet "diffing".

React benytter en optimeret diffing-algoritme, som hurtigt kan finde de nødvendige ændringer og opdatere den faktiske DOM på en effektiv måde. Denne teknik, kaldet "Reconciliation", minimerer antallet af dyre DOM-manipulationer, hvilket resulterer i en hurtigere og mere flydende brugeroplevelse.

Derudover giver React's komponentbaserede arkitektur mulighed for optimering af ydeevnen gennem "lazy loading" og "code splitting". Lazy loading er en teknik, hvor visse dele af applikationen kun indlæses, når de er nødvendige, hvilket reducerer den samlede mængde kode, der skal indlæses og køres ved opstart. Code splitting tillader at opdele din applikations kode i mindre "chunks", som kun indlæses, når de er nødvendige, hvilket forbedrer indlæsningstider og ydeevne.

Kombinationen af den virtuelle DOM, Reconciliation, lazy loading og code splitting gør det muligt for React at levere en fremragende ydeevne for webapplikationer af enhver størrelse og kompleksitet. Dette sikrer en responsiv og behagelig brugeroplevelse og hjælper med at opnå højere brugerengagement og tilfredshed.

6. Integrationer med andre systemer

En af React's største styrker er dets evne til at arbejde problemfrit sammen med et bredt udvalg af andre teknologier og biblioteker, hvilket gør det til et fleksibelt valg for både nye og eksisterende applikationer.

React kan eksempelvis let integreres i et eksisterende projekt uden at forstyrre den eksisterende kodebase. Dette gør det muligt for udviklere at adoptere React gradvist og nyde fordelene ved dets komponentbaserede arkitektur og høj ydeevne i deres nuværende applikationer. Jeg udvikler ofte React komponenter for mine kunder på deres eksisterende webløsninger.

React fungerer desuden godt sammen med forskellige CSS-styling-løsninger, såsom traditionel CSS, CSS-in-JS, og CSS-modules. Dette giver dig mulighed for at vælge den styling-metode, der passer bedst til dit projekt og dine præferencer. Jeg er kæmpe fan af TailwindCSS hvilket jeg også her skrevet om her: 11 fordele ved at bruge Tailwind CSS som udvikler

React er et frontend-framework og kan bruges sammen med enhver backend-teknologi, såsom Node.js, Ruby on Rails, Django, eller PHP. Dette gør det muligt at opbygge fuld-stack applikationer med React som frontend og din foretrukne backend-teknologi til at håndtere server-side logik og databehandling. Jeg har haft held med både Node.js og PHP (Laravel & WordPress).

React fungerer godt sammen med forskellige state management biblioteker, såsom Redux, MobX, og Zustand. Disse biblioteker hjælper med at håndtere applikationens tilstand på en mere struktureret og skalerbar måde, hvilket er særligt nyttigt for store og komplekse applikationer. Det er næsten et must-have når du udvikler større React løsninger.

Uanset hvilke teknologier du foretrækker eller allerede arbejder med, er chancerne for, at React kan integreres problemfrit og øge din applikations ydeevne og brugervenlighed.

7. Fremtidssikret!

React er konstant under udvikling og opdateres løbende med nye funktioner og forbedringer. Dette sikrer, at biblioteket forbliver relevant og kan imødekomme fremtidige krav og teknologiske udviklinger, hvilket gør det til et fremtidssikret valg for udviklere.

React blev skabt og vedligeholdes af Facebook, hvilket sikrer en stærk og stabil støtte for teknologien. Facebooks engagement i React sikrer, at biblioteket fortsat vil modtage opdateringer og nye funktioner, så det kan holde trit med branchens udvikling.

React har et stort og aktivt community, der bidrager til at udvikle og forbedre biblioteket og dets økosystem. Dette omfatter en lang række open source-projekter, såsom komponentbiblioteker, værktøjer og udvidelser, som kan hjælpe dig med at holde din applikation opdateret og relevant.

Folkene bag React arbejder konstant på at forbedre bibliotekets ydeevne og tilføje nye funktioner, der gør det nemmere for udviklere at bygge moderne webapplikationer. Nogle af de seneste eksempler inkluderer Hooks, Concurrent Mode og Server Components, der hver især har forbedret React's fleksibilitet og ydeevne betydeligt.

Alt i alt er React et fremtidssikret valg for webudviklere takket være dets stærke støtte fra Facebook, et aktivt community, konstante forbedringer og kompatibilitet med moderne webstandarder. Ved at vælge React som dit go-to frontend-bibliotek, investerer du i en teknologi, der vil fortsætte med at vokse og udvikle sig sammen med din applikation og dine behov.

Afslutning

Min konklusion på denne artikel er at React et fantastisk valg for at udvikle moderne, skalerbare og brugervenlige webapplikationer - så kæmpe anbefaling herfra!

Hvis du overvejer at få udviklet en hjemmeside eller webshop og ønsker at udnytte React's potentiale, så vil jeg meget gerne hjælpe dig med at realisere dit projekt. Uanset om du ønsker at bygge en ny applikation fra bunden eller forbedre en eksisterende applikation ved at integrere React, så er jeg klar til at hjælpe.

Hiv fat i mig på +45 22 62 34 62 eller send mig en mail på cp@codebypanduro.dk, så lad os tage en kop kaffe og snakke om dit projekt 🚀🚀🚀