Framtida kan bli uten "npm install"

ForrigeUke: Visjonære pakkeverktøy, React Flare, nyheter i DevTools og SwiftUI.

📸: Andrew Leu / Unsplash
📸: Andrew Leu / UnsplashVis mer

Dette var uken for avdukingen av verdens dyreste rivjern 🧀, en hund som fikk elleve skjorter i bursdagsgave 🐶👔, og siste episode av en “strålende” serie ☢️.

Og 5791 ting skjedde i React-verdenen!

Fremtidens pakkemanagere 📦

Tenk om du aldri hadde trengt å kjøre npm install igjen! Litt utopisk, tenker du? Foredraget til Kat Marchán på årets JSConf EU i Berlin viser at dette kan være nærmere virkeligheten enn du tror:

Den eksperimentelle pakkemanageren tink lar deg bruke pakker fra npm uten at disse faktisk installeres i node_modules. Istedenfor vil den kun inneholde én enkelt fil med hashene til alle filene i pakkene prosjektet bruker. Dette skjer i bakgrunnen og skal korte ned tiden det tar fra du f.eks. oppdaterer et prosjekt til du har det kjørende.

Franske Maël Nison som er vedlikerholderen av Yarn holdt forøvrig også et foredrag om den kommende versjonen av det populære npm-alternativet. Her presenterte han et tink-lignende konsept — zero-installs. Forskjellen er at helenode_modules-mappen komprimeres og lastes opp til repoet ditt. Dermed trenger man ikke kjøre yarn installlenger, samt at det skal være lettere å følge med på hvilke pakker som legges til eller fjernes til enhver tid.

Hvilken variant som kommer til å bli den nye industristandarden gjenstår å se. Det er i alle fall tydelig at mye vil skje på pakkemanagerfronten framover!

Rect Flare 🎇 > React Fire 🔥

De siste årene har React-teamet jobbet med fundamentale forbedringer av React. I den forbindelse introduserte Dan Abramov prosjektet React Fire som skal sørge for en modernisering av React DOM-prosjektet. Et av målene med prosjektet er en forenkling av eventsystemet. Forrige uke bestemte teamet seg for å stanse videre jobbing med React Fire for å ha fullt fokus på et eget prosjekt som tar for seg akkurat dette. React Flare skal gjøre det mulig å bygge brukergrensesnitt som fungerer utmerket på både desktop og mobil, med både mus og touchskjerm.

Optimalisering av komponenter 📈

Man kan fort havne i den fella at React-komponenter renderes oftere enn de trenger. Som regel er React rask nok til at dette ikke blir et problem, men i ny og ne kan dette gjøre applikasjonen din treg. Artikkelen til Chris Held forteller hvordan du kan bruke React.memo, useMemo og useCallback til å motvirke akkurat dette.

Et par oppdateringer 💫

  • urql v1.1
    I forrige uke skrev Kristofer om urql 1.0. Bare én uke senere ble det sluppet en oppdatering som — i tillegg til flere mindre endringer — gir støtte for server-side rendering.
  • Storybook 5.1
    Verdens mest populære utviklingsmiljø for UI-komponenter har også fått en del ny funksjonalitet.
  • Hvorfor ble dette renderet?
    Svaret på dette spørsmålet kan du nå få ved hjelp av en eksperimentell versjon av DevTools:

React + Elm = SwiftUI? 🤔

Et lite sidespor kanskje, men fikk du med deg WWDC19 — Apples årlige utviklerkonferanse? I tillegg til å gi et innblikk i hva de ulike operativsystemene til iPhone, Mac osv. kommer til å få av oppdateringer til høsten, viste Apple fram en annen interessant nyhet:

SwiftUI er et nytt verktøy som gir programmeringsspråket Swift deklarativ syntaks, gjenbrukbare komponenter og mye annen ny funksjonalitet. Utvikleren Ben McMahen har opprettet et repo som sammenligner mange av konseptene i React med SwiftUI — ta en titt.

Det var det for denne uken! Takk for følge – vi leses <NesteUke />! 👋