kompetanseguiden
Hva er React?
Hva er React – og hvor kan du lære det? I denne artikkelen får du en rask introduksjon til hva React er og hvordan det brukes, mens du i verktøyet øverst kan finne ut hvor og hvordan du kan lære det – basert på dine egne kriterier for læringen.
Tilbake til kompetanseguidens hovedside
React er et Javascript-bibliotek/-rammeverk utviklet av Facebook, som brukes for å lage brukergrensesnitt. Det utgjør sammen med Angular og Vue de tre mest brukte frontend-rammeverkene.
Kristofer Giltvedt Selbekk er «React lead» i Bekk, og kan fortelle oss litt mer om React.
Hva er det overordnede bruksområdet for React i 2020?React er den mest populære måten å lage web-applikasjoner på, og blir tatt i bruk på flere prosjekter for hver dag som går. I tillegg brukes React Native til å lage native kryssplattform-applikasjoner til Android og iOS-enheter.
Hva er fordelen med React? React forenkler hvordan vi arbeider med tilstand i applikasjonene våre, og lar oss spesifisere hvordan vi ønsker at noe skal se ut istedenfor hvordan man kommer seg dit. I tillegg er den enorme populariteten et stort fortrinn – det er estimert over 3 millioner React-utviklere i verden, som betyr massevis av gode biblioteker, artikler og tutorials.
Hva er ulempene eller begrensningene?Siden React som oftest brukes med en syntaksutvidelse – JSX – så må du kompilere koden din for å få gyldig Javascript som kan kjøres i browseren. En annen ting er at det er 38 kilobyte med kode (gzipped) som må lastes ned og parses før man får vist noe til brukerne. Til slutt vil jeg nevne at React kun er et bibliotek, så det kan ikke stille like sterke garantier som f.eks. Elm gjør.
Hva er typisk å utvikle med React, og hvilke teknologier er vanlig å bruke for å oppnå det?Vi i Bekk bruker React til å lage en rekke forskjellige applikasjoner, både for weben og mobile plattformer. Den mest brukte kombinasjonen er nok React og Typescript, som gir oss god typesikkerhet og tiltro til koden vår, samtidig som vi beholder mye av fleksibiliteten som gjør Javascript så fantastisk å jobbe med.
Hva er kjente eksempler på populære programmer, nettsider eller funksjoner som er utviklet med React?
React er utviklet hos Facebook, og den nye versjonen av Facebook.com er utviklet ene og alene i React. I tillegg brukes React hos omtrent alle kundene våre i dag, og i de aller fleste teknologiselskap verden over. Visste du for eksempel at kalender-appen til Windows 10 er skrevet i React Native?
Hvilke teknologier eller verktøy er det viktig å mestre for å utnytte potensialet i React?
React er skrevet i Javascript, så det kan være fint å ha en god forståelse av hvordan Javascript fungerer. Det finnes dog ports av React til mer funksjonelle språk som Clojurescript og Reason, som kan være en bedre match om du kommer fra en funksjonell bakgrunn.
Hvilke biblioteker eller rammeverk ligner, eller er nært knyttet til React? Det finnes mange lignende biblioteker som React der ute, eller i alle fall biblioteker som løser det samme problemet. Preact er en mye mindre versjon av React med det samme grensesnittet, og som i mange tilfeller er vel så bra å bruke. Elm har også mye til felles med React, og da spesielt React med tilstandshåndteringsverktøyet Redux.
React har blitt utrolig mye enklere å lære seg det siste året
Hvordan er vanskelighetsgraden og læringskurven? Hvilke forkunnskaper er det en eventuelt en fordel å ha?React har blitt utrolig mye enklere å lære seg det siste året. Vi har et introkurs vi kjører for studenter, interns og nyansatte som lærer deg det meste du trenger å vite på tre-fire timer. Det er en del nye konsepter å lære seg, men heldigvis er det så mye godt læringsmateriell der ute at de fleste kommer seg opp på et relativt høyt nivå på kort tid.
Kan du si noe om utviklingen og forhistorien til React?React ble funnet opp av en Facebook-ansatt som heter Jordan Walke rundt 2011. Den gangen ble det bare omtalt som FaxJS, men hadde allerede mange av de featurene vi kjenner igjen i dag. Det ble open sourcet på JSConf i 2013, og har siden tatt over mer og mer av frontend-verdenen.
Facebook har i dag flere ansatte som fokuserer på kjernesystemene til React, og på React Native. I tillegg har over 1300 folk bidratt til kodebasen.
Hvilke råd kan du gi til en som ønsker å lære seg React?
Det er utrolig mange gode ressurser der ute, men få slår egentlig den offisielle dokumentasjonen. Ta en titt på Reactjs.org, og fortsett med noen av tipsene i denne artikkelen. Aldri vær redd for å spørre på Twitter eller Stackoverflow – det er alltid mange som vil hjelpe deg på vei.