Den mørke siden av React
Utfordringer knyttet til React og andre JavaScript-baserte frontend-rammeverk – og hvordan man overvinner dem.
Written by Morten Eriksen on
Utfordringer knyttet til React og andre JavaScript-baserte frontend-rammeverk – og hvordan man overvinner dem.
Written by Morten Eriksen on
Frontend-rammeverk lar deg bygge strukturen, designet, oppførselen og animasjonen til alle elementene på skjermen på nettsteder og apper. De har blitt svært populære blant utviklere de siste årene, delvis på grunn av at JavaScript er en del av kjerneteknologien for nettet, sammen med HTML og CSS.
Antallet tilgjengelige rammeverk skyter i været, inkludert kjente eksempler som Angular, Ember.js, Preact, Svelte, Vue.js og selvfølgelig den mest populære, React. Fordelene med et frontend-rammeverk som React er at mange utviklere kjenner det, og at det brukes av store organisasjoner. React-universet er enormt; du har kjernfunksjonene pluss mange elementer og komponenter du kan legge oppå det for å lage brukergrensesnittet og UI-komponentene organisasjonen din trenger.
Så, hva er ulempene?
Mens React hjelper med å løse mange problemer, kommer det med sine egne utfordringer. For det første vil du ikke automatisk få god UX, raske nettsteder, høy Google-rangering og utmerket tid til interaktivitet med React eller andre JS frontend-rammeverk. Mange operasjoner må utføres på klientsiden, noe som igjen avhenger av hvilken klient brukerne sitter på og hvor rask den er.
Også: Det pågår mye utvikling i frontend-universet, noe som fører til at ting endres raskt og at React bare er ett av mange rammeverk. Dette gjør det noe vanskelig å holde oversikt over hver obskure, men potensielt applikasjonsbrytende utvikling som kan oppstå.
Men den største utfordringen kan være denne: å innse at React & co. bare er verktøy, og ikke magiske enhjørninger. I essens flytter utviklere bare kompleksitet inn i et nytt rammeverk – som de igjen må lære seg. Det tar lang tid å bli en ekspert – vi har snakket med utviklere som har jobbet med React de siste 2–3 årene, og de har fortsatt ikke lært hver krik og krok av rammeverket.
Hvis utviklere ikke lærer seg de viktigste funksjonene, vil de og deres organisasjoner støte på et sett med nye, tidligere ukjente problemer på lang sikt. Som nevnt er det stadig mange endringer i disse typene rammeverk, og bakoverkompatibilitet er ikke nødvendigvis til stede.
En annen “mørk side” ved React eller andre typer rammeverk du bør vurdere, er denne: Ved å bruke ett eksklusivt frontend-rammeverk, låser du deg i hovedsak til bare én måte å løse problemer på – i stedet for flere.
Med bare ett JS-rammeverk begrenser utviklerne seg til å lete etter pakker i ett univers, noe som ikke nødvendigvis vil hjelpe organisasjonen din med å løse utfordringer på den måten du krever.
Når det gjelder sikkerhet, er Reacts arkitektur noe lik WordPress – fra ett perspektiv. Sikkerheten til WordPress avhenger delvis av hva du drar inn – hvilke plugins du bestemmer deg for å bruke. Det samme prinsippet gjelder også for React i form av moduler.
I React kan utviklere sette inn en modul som er avhengig av en mengde andre moduler, som igjen er avhengig av en mengde enda flere moduler – og så videre. Dette økosystemet har både sine styrker og svakheter, men alle bør være klar over de potensielle fallgruvene.
Se også: Hvorfor gå headless med en hybrid CMS?
Mange av utfordringene nevnt her er mer en advarsel enn et faktisk problem med ditt spesifikke prosjekt. Men noen ting har en tendens til å være mer utbredt enn andre, nemlig SEO-problemer.
Svaret ligger i prerendering, eller serverside-rendering – en teknikk som involverer å bruke skript på en webserver som deretter produserer et svar skreddersydd for hver brukers forespørsel til nettstedet. Serverside-rendering gir et tilpasset grensesnitt for brukeren, inkludert SEO-taktikker.
Et eksempel på dette er React4XP, som håndterer og renderer forhåndsbygde React-komponenter i den digitale plattformen Enonic XP. RubyGarage har en mer detaljert artikkel om React og SEO, så sørg for å sjekke den ut.
Det viktigste tipset om å løse eller forhindre React eller JS frontend-rammeverk-problemer er å tenke grundig gjennom hva målet ditt er, og deretter hvordan appen din skal oppnå det.
Som et tillegg til dette, sørg for at de viktigste elementene på nettstedet eller appen din lastes først – de som er nødvendige for å opprette nettstedet eller appen i utgangspunktet.
Få enda mer innsikt 🤓