Vi i kode24 har spurt en rekke fageksperter om hvilke frontend- og alt-i-ett-rammeverk de har mest tro på i 2023 og tiden fremover.
Selv om de fleste av teknologiene vi bygger websider med har eksistert i mer enn 30 år – har måten vi bygger nettsidene på endret seg dramatisk. Kent C. Dodds har en veldig interessant gjennomgang av hvordan vi har gått fra «Multi-Page Apps» (MPA) til «Progressively Enhanced Multi-Page Apps» (PEMPA) til «Single-Page Apps» (SPA).
Ett av problemene Dodds påpeker med SPA og det å gjøre «alt» på klienten, er at vi har endt opp med enorme bundlestørrelser, dårlig ytelse og kronglete håndtering av tilstand. Utviklere verden over jobber på spreng for å håndtere disse utfordringene på bedre måter – med stadig nye rammeverk og løsninger som resultat.
– Da JavaScript og SPA-rammeverk ble populært, så vi pendelen svinge fra at mesteparten av en applikasjon levde på serveren, mot at mer av arbeidet ble gjort på klienten. Brått ble backend-jobben mer sentrert rundt API-er og tjenester som bare leverte ut data som frontenden kunne konsumere, på godt og vondt, sier Vegar Norman, seniorkonsulent i Capgemini.
Norman ser nå at pendelen svinger mer og mer tilbake mot at serveren gjør en større del av jobben igjen.
«Noen ganger trengs kanskje ikke client-side rendering i det hele tatt!»
Nå skal vi gjøre mer på serveren
– Med server-side rendering kan vi laste data og klargjøre mye av siden på server, mens klienten står ansvarlig for å ta over og fylle ut der det mangler. Noen ganger trengs kanskje ikke client-side rendering i det hele tatt!
Han mener denne omfordelingen av ansvar, og muligheten til å selv avgjøre når man trenger hva, er veldig positivt med tanke på hvordan utviklere jobber. Det gagner også brukeren, siden applikasjonen ikke trenger å gjøre all jobben på enheten.
– Det fordrer naturligvis at vi er flinke til å jobbe på tvers av stacken og bryte ned siloer, som også er en positiv bieffekt, sier Norman.
Her er JavaScript-prosjektene som trender nå - ett skiller seg ut
Heier på Next.js
Mikael Brevik er CTO i Variant, og sier at for de løsningene han selv utvikler, er en serverside-komponent viktig både for universell utforming, progressive enhancement, robusthet, autentisering og mye annet.
– Next.js har vist seg som en teknologi fra en stor og seriøs aktør som er med på å drive frontend-teknologier fremover på ulike områder, sier Brevik.
Han mener Next-skaperen Vercel har klart å gjøre viktige og gode endringer i Next etter hvert som de har fått tilbakemeldinger, i stedet for å tviholde på det som eventuelt ikke har fungert bra.
– Med next.js 13 og fremover ser det ut til at de kontinuerlig forbedrer seg både med Server Components, måten du laster data på for klient og server og layoutmodellene som fungerer i andre former. For rike applikasjoner med mye interaktivitet syns jeg Next.js med bruk av React har fungert bra og skalert bra.
«Er man litt lei av React og vil prøve noe nytt, så er dette et godt alternativ å sjekke ut.»
Spår gode tider for Svelte
Vegar Norman i Capgemini er en ivrig forkjemper for Svelte og Svelte-rammeverket SvelteKit, som ble lansert i versjon 1.0 like før jul.
– Svelte i seg selv er et supert rammeverk for å lage UI-komponenter, mens SvelteKit virkelig tar for seg å løse oppgaver som datahenting, ruting og SSR – med andre ord ikke helt ulikt rammeverk som Next.js.
Norman skrev nylig om hjemmesiden sin med SvelteKit og ble overrasket over hvor elegant og ryddig hele prosessen var.
– Er man litt lei av React og vil prøve noe nytt, så er dette et godt alternativ å sjekke ut.
Han anbefaler også kode24-leserne å ta en kikk på StencilJS.
– Dette er et supert verktøy for å lage webkomponenter og egner seg spesielt godt til å lage designsystemer, siden man ikke binder seg til noe spesielt rammeverk og dermed kan støtte mange typer teknologistacker.
Mikael Brevik i Variant har også stor tro på Svelte og Sveltekit.
– Svelte og SvelteKit har fungert veldig bra i innholdsbaserte løsninger. Måten både Next.js og SvelteKit håndtering ruting, datalasting og SSR gjør at en kan ha fleksibilitet i abstraksjoner. Men personlig er fremdels Next.js det foretrukne verktøyet for de løsningene jeg som regel lager, selv om jeg også tror nykommeren Remix er en god aktør å ha i miksen, sier Brevik.
70.000 utviklere har talt: Bootcamps er ut, dokumentasjon er inn!
Interessert i Remix
Caroline Odden er utvikler og faggruppeleder for React i konsulentselskapet Bekk. Selv om hun brenner for React og i all hovedsak bruker React på jobben, er hun glad for at det skjer enormt mye også utenfor React-miljøet.
– Hvis det ikke kommer nye rammeverk som utfordrer, så vil jo React stagnere og bli gammeldags. Verden trenger andre ting enn React og React-baserte rammeverk. De trenger konkurrenter for å hele tiden forbedre seg, sier Odden.
Hun tror «gamle» travere som det React-baserte rammeverket Next.js vil fortsette å bli mye brukt, selv om mange vil prøve ut nye ting av nysgjerrighet. Men hun liker tanken på alternative løsninger som gjør utviklere i stand til å kjapt komme opp med en rask nettside med liten pakkestørrelse og gode lastetider, uten mye konfigurasjon.
– Remix er også et veldig interessant rammeverk, som jeg tror vil fortsette å vokse og ta mer plass i tiden som kommer.
Også i konsulentselskapet Capgemini er det først og fremst React det går i når utviklerne er ute hos kundene, men fagmiljøet der passer på å holde seg oppdatert på de nye løsningene som kommer.
– Vi har et sterkt fagmiljø som holder fingeren på pulsen og får med seg det som skjer i frontend-universet. Vi har for eksempel stadig flere som blir glade i Remix, og andre som snuser litt på Astro om dagen! sier Norman.
- Vi frontend-utviklere kommer til å få kjørt oss i året som kommer!
Gatsby "altfor komplisert"
For tre-fire år siden snakket alle om Gatsby, en løsning for å lage statiske nettsider – som etter hvert fikk mange likheter med Next.js. Men ifølge State of JS 2022 har Gatsby falt som en stein. Mikael Brevik mener han vet hvorfor.
– Gatsby har vært altfor komplisert for problemet det skal løse. Det har vært en øvelse i teknologi- og abstraksjons-maksimalisme mer enn noe annet. Det er teknologi det er spennende å prøve, men som fort går over til å føles frustrerende. Da blir det gjerne døgnfluer i teknologihistorien, sier Brevik.
Han mener imidlertid at dette er nyttig lærdom på veien over til bedre løsninger som har lavere brukerterskel, mindre oppsett og større fleksibilitet.
– Løsninger som Next.js, Remix og SvelteKit, og også til en viss grad Astro, gir deg mer fleksibilitet i abstraksjonsnivå. For eksempel kan Next.js i større grad vokse i kompleksitet etter hvert som problemet vokser. Du kan starte på et lavere abstraksjonsnivå, og øke etter hvert.
Synes Astro er spennende
Stian Westvig er en av de mest erfarne frontendutviklerne i konsulentselskapet Bouvet, og ønsker også å trekke frem nykommeren Astro.
– Astro er spennende, spesielt hvis innholdet endrer seg sjeldent. Det er lett å sette opp egne datakilder for å generere store nettsider. Vi oppnår både god ytelse og kan gjøre deler av siden mer dynamisk med valgfritt rammeverk på toppen, sier Westvig.
For bygging av web-apper der alt er dynamisk, mener han SolidJS er verdt å se nærmere på.
– Reaktive oppdateringer gjør SolidJS til ett av de mest effektive rammeverkene på markedet, der den kun oppdaterer det den trenger og bruker nettleserstandarden fullt ut. Den egner seg godt til å lage webapps som føles digg ut å bruke på grunn av ytelsen.