Våre spådommer for front-end i 2024

Av Syver Storm-Furru og Øystein Malt

Syver og Øystein står side om side og smiler til kameraet, ikledd ulltrøyer og bukseseler

Frontend-utvikling er et felt som har holdt høyt tempo over lang tid, og det har skjedd flere store omveltninger bare i løpet av de siste 10 årene. Etter det som føles som en litt roligere periode hvor mye av frontend-verden var sentrert rundt React, har vi de siste årene fått en oppblomstring av ny tooling, nye rammeverk, og nye og oppdaterte webstandarder og nye metoder for hvordan vi utvikler og lanserer nettsider. Hvor skal vi i 2024?

 

Vi flytter mer til serveren

Som vi skrev om i våre frontend-spådommer i fjor, har renderingrammeverk som Next.js, Remix, Qwik og Astro hatt en stor økning i popularitet de siste årene de siste årene, med fokus på å rendre statiske elementer av en nettside på serveren slik at klienten laster mindre dynamisk data. I 2023 ble Next.js 13.4 og 14 lansert, og vi fikk endelig skikkelig tilgang til server components og server actions. De forenkler flere aspekter av måten man skriver kode på, men krever et litt annet tankesett enn man har vært vant til i Next.js eller React tidligere, og eksisterende prosjekter krever en del omskriving for å dra nytte av funksjonaliteten. Vi tror derfor fjorårets spådom om at mange vil ta i bruk serverbaserte løsninger for nettsider også vil gjelde for i år, og at mange prosjekter gradvis vil flytte mer og mer til serveren utover i 2024, etter hvert som utviklere blir vant til dette nye paradigmet.

Standardisering av reaktivitet

Etter noen år med mye innovasjon i biblioteker og rammeverk, spesielt rundt forskjellige metoder for reaktivitet, ser det ut til at vi har endt opp med noen forholdsvis standardiserte metoder. Det ser ut som om de fleste rammeverkene har begynt å bruke en variasjon av fine-grained reactivity bygget på designpatternet Observer, implementert via proxying av rene JavasSript-objekter, og at dette kommer til å bli normen fremover. Svelte går for eksempel i versjon 5 (per nå i beta) vekk fra en egen kompilator og har heller implementert fine-grained reactivity som ren Javascript.

Moderne CSS

Vi var nok litt tidlig ute med våre spådommer rundt bruk av nye CSS-features i fjor, men i løpet av fjoråret ble flere av CSS-featurene vi beskrev endelig stabilisert og implementert på tvers av alle moderne nettlesere. Det er derfor ganske trygt å si at de så smått vil begynne å se bruk utover i 2024. Her er et knippe av dem vi ser mest frem til å ta i bruk:

- Container queries lar deg responsivt style elementer basert på noe annet enn vindustørrelse. Nyttig for å responsivt oppdatere elementer som ikke fyller hele siden.

- :has()-selektoren lar oss endelig velge parents av et element, særs nyttig for dem som jobber med å utvikle løsninger til begrensede CMSer som for eksempel Squarespace.

- Nøsting av CSS gir deg funksjonalitet vi tidligere brukte preprossessorer som SCSS for direkte, og lar deg gruppere CSS-selectorer ved å nøste dem inni hverandre.

- Subgrid lar deg lage grid layouts inni grids, og vil gjøre det mye enklere å sørge for at innhold i grid-celler er alignet.

WebAssembly og Rust

WebAssembly har sett en beskjeden men gradvis økning i bruk på frontenden i løpet av de siste årene, men diverse tekniske begrensninger har gjort at man i praksis har vært begrenset til språk som ikke har en garbage collector, f.eks. Rust eller C++, hvis man ønsket små filstørrelser og skikkelig høy ytelse i WebAssemblyen man skrev. På tampen av fjoråret fikk Chrome støtte for en native WebAssembly-garbage collector, som kan brukes av språk som bruker garbage collection for å øke ytelsen deres. Både Kotlin og Dart/Flutter har begynt å bruke den nye WebAssembly-garbage collectoren, med flere språk på vei. Vi tror dette kan føre til en stor vekst i bruken av WebAssemly, og at man i større og større grad bør følge med på utviklingen her.

I fjor skrev vi om trenden hvor flere og flere verktøy får nye versjoner basert på Rust, med mål om å levere bedre ytelse. Denne trenden fortsetter i 2024, med blant annet Turbopack som etablerer seg, Rolldown, som er annonsert som en rust-versjon av Rollup, og Biome (tidligere Rome), som vant Prettier sin konkurranse om ytelsesforbedringer i formattering.

Abstrakte bokser i ulike farger

AI-revolusjonen

Det er liten tvil om at generativ AI var det store nye innen IT i fjor, med spesielt OpenAI's ChatGPT og GPT-4 som store milestones. Sammen med Githubs Copilot har GPT-4 blitt et verktøy mange utviklere etter hvert har begynt å bruke i arbeidshverdagen.

Spådommen for 2024 er at frontend-utviklere kommer til å begynne å ta i bruk mer spesialiserte AI-verktøy som er myntet på nettsider. Spesielt to verktøy virker lovende:

Vercels nye produkt, v0.dev, kan generere en hel nettside for deg basert på en prompt, og er spesielt velegnet til å generere et skjelett til en side man kan jobbe videre ut ifra. Koden som genereres er som regel av temmelig god kvalitet, og med Vercel i ryggen har verktøyet støtte fra en stor og veletablert aktør kjent for å levere god utvikler-experience.

Builder.io sin Figma-plugin, Visual Copilot, som lar deg konvertere et Figmadesign til kode. I prosjekter hvor man jobber med designere vil dette gi mye av samme gevinst som v0.dev, men med mer kontroll over hvordan nettsiden ser ut.

I løpet av 2023 har de samfunnsmessige påvirkningene av AI vært mye diskutert. Selvom vi i hovedsak tror AI kommer til å sørge for økt produktivitet for individiuelle utviklere spesielt i oppstartfasen på frontend-prosjekter i 2024, tror vi også at inntoget av AI kommer til å påvirke utviklingsprosjekter en annen måte: De populære rammeverkene (React, Vue, Angular, Next.js og lignende) vil bli enda mer brukt på grunn av AI. Siden dette er de mest populære rammeverkene, er AI-modellene trent på mer kode fra disse, og vil ha større suksess ved generering for eksempel React-kode enn ved kode i mindre kjente rammeverk. For å utnytte AI-verktøyene til sitt fulleste kan vi derfor se for oss at dette blir et argument for å velge de veletablerte rammeverkene i nye prosjekter, og samtidig at utviklere vil være mer fornøyd med disse da de fungerer bedre med ai-verktøyene som blir brukt.

En illustrasjon som viser et romskip som flyr blant planeter

One toolchain to rule them all

2023 var et interessant år for JavaScript-kjøretidsmiljø. Deno har utvidet løsningene de tilbyr, og begynner å fremstå som et modent og godt alternativ til Node. I løpet av det siste året har de levert blant annet Deno KV, NPM-kompabilitet og SOC2-sertifisering, og posisjonert seg tydelig som et alternativ til PaaS-tjenester som Vercel. Bun nådde versjon 1.0 og satt virkelig seg selv på radaren med høy ytelse og enda høyere ambisjoner. Via nettsiden til selskapet sitt, Oven (pun probably intended), forklarer de at de har mottatt investeringer på 7 millioner dollar, og har som mål å tilby "utrolig rask serverless hosting og CI for backend og frontend JavaScript-applikasjoner". Med andre ord sikter de også på markedet til Vercel.

Det virker å være en trend at selskap som Vercel, Deno, Bun og flere, som har markedskrefter bak seg, ønsker å eie mest mulig av verktøykjeden vår. Vi har Vercel, som nå leverer Next.js, bundling (med turbopack), edge runtime, key-value lagring, databaser, analyseverktøy etc., Deno som gjør omtrent tilsvarende, og Bun som har ambisjoner om tilsvarende. I og for seg selv kan det jo være greit at vi får en mindre fragmentert verktøykjede, så fremt vi ikke blir låst fast av leverandørene. Når det gjelder kjøretidsmiljø er det heldigvis en W3C-gruppe for dette, så forhåpentligvis vil det bli enklere og enklere å skrive "kjøretidsmiljø-uavhengig" JavaScript-kode. En ting som hvertfall er sikkert, er at det blir spennende å se hvordan adopsjonen av Bun blir i 2024. Om du ikke har testet ut Bun enda kan det anbefales!

En illustrasjon av et flytdiagram

Kryssplattform

Apple har nylig annonsert endringer i tråd med EUs "Digital Markets Act", og skal i mars åpne for tredjeparts applikasjonsbutikker og nettlesere som ikke er basert på WebKit. Med tanke på frontend-utvikling, kan vi se for oss at dette på sikt kan åpne døren for bedre PWA (progressive-web-app) støtte på iOS-plattformen. Apple har tidligere holdt igjen på støtten for enkelte API-er og løsninger rundt PWAs som andre nettleserleverandører ønsket, og begrenset muligheten for å lansere apper som bare er et omslag rundt en nettside. Kanskje blir vi heldig og får nå muligheten til å levere webapplikasjoner som kryssplattform apper, enten via alternative nettlesere eller alternative applikasjonsbutikker.

En annen interessant nyhet er at Expo, rammeverket for React Native, har lagt til støtte for SSR (server side rendering). Expo kan benyttes både til kryssplattform mobilapplikasjoner, og til webapplikasjoner. Når de nå støtter SSR får vi muligheten til å lage webapplikasjoner på linje med Next.js, samtidig som vi kan få en mobilapplikasjon på kjøpet. Det kan fort bli et godt argument for å bruke Expo og React Native i prosjekter, og blir et rammeverk å følge med på i 2024.

En illustrasjon av en nettverksgraf

Konklusjon

Som vanlig er det mye spennede å prate om rundt frontend-utvikling, og mye vi gjerne skulle dekket, men ikke fikk plass til. Det er alltid vanskelig å spå fremtiden, og med alle endringene som skjer knyttet til AI oppleves det stadig vanskeligere. Ting som virket langt frem i tid før kommer plutselig for en dag, og vi må tilpasse oss til hvordan vi kan bruke disse i arbeidet vårt. Likevel er det nok relativt lavthengende å spå at løsninger bygget rundt AI vil være en stor trend det kommende året.

Samtidig er det mye nytt som skjer rundt rammeverk, verktøy, forbedring av utvikleropplevelse (DX) og hostingløsninger som det vil bli spennende å følge med på i 2024. Vi i Kraftlauget gleder oss i hvert fall stort til å levere raskere og bedre ved hjelp av nyvinningene som kommer, og er spent på å se hva året bringer for frontend-verden.

En illustrasjon av to mennesker med snakkebobler over hodene deres

Dersom du trenger hjelp til å navigere dette raskt utviklende landskapet av teknologier, eller ønsker å sparre med flinke teknologer, tar vi gjerne en kaffe med deg!

 
Forrige
Forrige

Skal svare bedre enn Google🔎

Neste
Neste

Grattis Maria🥳 UX sertifisering er i boks!