React

React er et JavaScript-bibliotek for utvikling av dynamiske brukergrensesnitt. I motsetning til alternative (og populære) MVC-rammeverk søker ikke React å løse hele stacken, men heller å tilby en solid abstraksjon for utvikling av V-en, viewet.

I motsetning til omtrent alt annet av lignende verktøy søker React å gi deg en mulighet til å programmere brukergrensesnitt uten å forholde deg til DOM-en. Den gjør dette ved å fokusere på komponenter og trær av slike komponenter. Du beskriver hvordan komponenttreet (ja, hele) ser ut gitt en gjeldende tilstand, React sørger for å finne den mest effektive måten å endre DOM-en på for å reflektere dette.

Reacts modell viser seg i praksis å være konseptuelt mye lettere å forholde seg til en tilstandstunge DOM-sentriske løsninger, samtidig som den legger til rette for svært god ytelse. Se Finn Småjobbers søk (trykk på fylker og kategorier) for et eksempel på bruk av React signert Kodemaker (ved Christian Johansen).

React utvikles og brukes av Facebook og Instagram.

Våre anbefalinger

React: Rethinking best-practices

Pete Hunt, en av hodene bak JavaScript UI-rammeverket til Facebook og Instagram, React, forteller om tankene bak. Foredraget fra JSConf.eu 2013 utfordrer en del etablerte sannheter og presenterer en måte å tenke på web-frontend-programmering på som sammenfaller med klassisk UI-programmering og som virkelig fokuserer på separation of concerns. Se foredraget

On the Spectrum of Abstraction

Rich Hickey har noen fantastiske talks. Han snakker om generelle prinsipper, og gir deg ofte noen nye konsepter og ord du kan bruke til å tenke med rundt programmering.

Det er ikke ofte jeg ser talks av andre enn Hickey som har denne typen øye-åpnende innhold, men dette er en. Det er litt knot og kluss i starten, men det tar seg veldig opp. Han introduserer noen spissede begreper (power vs usefulness / properties) og bruker de til å snakke om abstraksjonnivåer på en veldig interessant måte. Mye godt tankemateriale her. Anbefales! Se foredraget

Literate interactive coding: Devcards

Tester du UI-komponentene dine ved å klikke omkring i applikasjonen og gjenskape situasjoner manuelt? Unødvendig. Tidssløseri. Frustrerende. Bruce Hauman viser vei med Devcards. Se foredraget

Building User Interfaces With Facebook's React

Steven Luscher har en herlig stil når han i dette foredraget viser fram hvorfor React er bra greier. Underholdende og informativt! Se foredraget

Våre bloggposter

Minesweeper - a brief journey from JavaScript/React to Elm

Jeg tar utgangspunkt i en minesveiper implementasjon fra Christian Johansen i JavaScript/React og hviser hvordan man kan implementere det samme spillet i Elm. Bloggposten sammenligner flere implementasjonsdetajer og reflekterer kort om statisk vs. dynamisk typing. Les posten

Immutability in React

Artikkelen bygger videre på artikkelen om immutability i JavaScript, og viser immutable data i sving i en React-applikasjon. Les posten

Printe med React

Hvordan gjøre media queries fra en React-applikasjon med inline CSS. Les posten

Validering i React

Hvordan lage robuste React-komponenter Les posten

JDK8 + Facebook React: Rendering single page apps on the server

En proof-of-concept på å gjenbruke React-komponenter til å få single page apps til å funke både på server og klient, uten at du trenger å gjøre noe særlig for å tilpasse JS-koden din. Les posten

Våre presentasjoner

Functional UI Programming

En introduksjon til React.js, med sammenligning av populære MC*-rammeverk, samt et eksempel på bruk i form av live-koding av minesveiper med ClojureScript og Om (en React-wrapper). Se video

ZombieCLJ: Live parprogrammering

Se Christian og Magnar parprogrammere på nettspill med Clojure og ClojureScript. Denne økten er for de som syns det er moro å se folk parprogrammere mens de prater om hva de driver med. Det blir Clojure med hanskene av, så man må tåle å ikke forstå alt. De som er helt nye til funksjonell programmering kan muligens få eksplodert hodet. Definitivt live koding. Se video

You can't change this: Immutability in JavaScript

Hva er immutability? Hva er hensikten? Kan man benytte seg av det i JavaScript? Hvordan? Hvilke konsekvenser har immutability for UI-programmering? Dette foredraget gir deg svar på disse spørsmålene, med mer til. Se video

Open source