Dette er nytt i Node, Storybook og React

ForrigeUke: React 17, Node 14.8.0, Storybook 6.0 og splitter nytt verktøy for web-applikasjoner i Rust. ✨

Dette var uken for nye lanseringer, tapte arbeidsplasser og Fortnites slåsskamp mot den verste frykten fra George Orwells “1984” — Storebror.

React 17 🤷

React-teamet har sluppet en kandidatversjon (RC) til ny hovedlansering — 2,5 år etter forrige hovedlansering.

De fleste som håper at det dukker opp nye funksjoner på nivå med hooks blir nok svært skuffet av React 17. Denne versjonen minner lite om ungdommelig mot og hippe buzzwords, men søker å bidra til at fremtidige oppgraderinger kan skje gradvis også innad i applikasjoner. På denne måten kan du (trygt!) oppgradere og ta i bruk nye funksjoner i deler av applikasjonen din, mens andre deler kan kjøre på en eldre versjon.

Noen ganger lages kompleksitet som ikke fungerer like bra som forventet. Det kan se ut som Reacts optimalisering av “event pooling” har havnet i denne kategorien og vil bli fjernet fra versjon 17.

Oppryddingen av useEffect vil gå fra synkront til asynkront. For de aller fleste vil ikke dette by på noen utfordringer, men sjekk at du ikke bruker en referanse direkte i metoden som skal rydde opp komponenten din!

Dersom du savner tiden med jQuery-spaghetti kommer React med en gladnyhet: 🚀

«If you no longer like React and want to rewrite your app — for example, in jQuery — you can start converting the outer shell from React to jQuery without breaking the event propagation.»

Mozilla — you’re fired! 👉

Denne uken slapp Mozilla noen triste nyheter for de som er glade i bl.a. Firefox og MDN.

I konkurranse mot store aktører (Google, Apple og Microsoft), med begrensede økonomiske muskler og tydelig påvirket av COVID-19, har de sagt opp omtrent en tredjedel av sine ansatte. Nå som 250 personer er på jakt etter ny jobb blir det spennende å se prioriteringene til Mozilla i tiden fremover.

Hvilke produkter skal de satse på, hvilke deler skrinlegges og har de mulighet til å henge med i den evige nettleserkrigen? Undertegnedes personlige krise blir maksimal hvis MDN legges ned og det må tys til w3schools…

Node 14.8.0

Også Node kom med lansering av ny versjon denne uka, 14.8.0.

Det mest interessante er kanskje at du bruke Top-level await uten å kjøre med experimental flag. I praksis betyr dette at await kan brukes uten å måtte være i en async-funksjon eller async-wrapper.

Hva betyr dette, sa du?

// FØR:
await Promise.resolve(console.log('🎉'));
// → 🛑 SyntaxError: await is only valid in async function
(async function() {
  await Promise.resolve(console.log('🎉'));
  // → 🎉
}());

// NÅ:
await Promise.resolve(console.log('🎉'));
// → 🎉

Storybook 6.0 📚

Storybook, som mange bruker for å holde oversikt over UI-komponentene innad i organisasjoner og team, har også lansert en ny versjon.

I hovedsak inneholder denne en del forenklinger — mindre konfigurasjon og boilerplate for å komme i gang. Skalerbarheten for organisasjoner som vedlikeholder flere storybooks har også blitt bedre. Nå kan det lages storybooks hver for seg som senere kan slås sammen til en felles storybook.

Som litt ekstra glasur på kaken, har de muliggjort live edit på komponenter slik at det blir lettere å tilpasse til sitt eget bruk.

Fortnite 🆚 Apple/Google

Som mange kanskje vet, tar Apple og Google en ganske høy andel (30%) av alle kjøp som gjennomføres på deres plattform — både apper og in-app.

Til tross for at de utvikler og vedlikeholder sine operativsystemer, er nok dette en vesentlig høyere andel enn hva mange synes er rimelig å forvente.

Særlig Epic Games har sett seg lei på denne prismodellen og har følgelig implementert en egen betalingsløsning i Fortnite. På denne måten kan de omgå prosentandelen som skal tilkomme plattformen det kjøres på, og prisene kan naturlig nok nedjusteres.

Fortnite ble, ikke overraskende, fjernet fra App Store og Google Play ettersom dette er et klart brudd på retningslinjene. Som tilsvar har Fortnite tatt ut søksmål mot Apple og Google hvor monopol og bevisst konkurransehindring er det som påklages.

Nå blir det spennende å se hva konklusjonen blir i denne saken. Inntil videre er det ikke mulig å installere Fortnite på Apple-enheter, men Android-brukere kan laste ned direkte fra Epic Games sine egne sider. Det er også kommet en nyinnspilling av Apples ikoniske reklamevideo fra 1984 — denne gang med Apple som Storebror.

Web-applikasjon i Rust — Yew!

WebAssembly (wasm) er i seg selv ikke nytt, men at det er mulig å lage web-applikasjoner med Rust er for undertegnede en artig nyhet.

Rammeverket Yew er komponentbasert, med inspirasjon fra bl.a. React og Vue, og sikter mot at det skal være lett å komme i gang ettersom mange allerede har erfaring med React og Vue.

Sjekk ut bloggen til Sheshbabu for å lære mer om Yew. Dette kommer kanskje ikke til å ta av med det første, men det kommer helt sikkert mer moro fra wasm-kanten i tiden fremover.

To triks i ludo 👌

DevTools i nettlesere tilbyr mange nyttige funksjoner, men at man kan velge farger med gode kontrastforhold i Chrome har kanskje ikke alle har fått med seg?

Har du irritert deg over at bredden på ulike tall ikke nødvendigvis er like? Dette kan medføre at tallene ikke er riktig justert i forhold til hverandre i skjematisk visning, samt “hoppende” tall ved bruk av en teller. font-variant-numeric og font-feature-setting er en god løsning for disse problemene.

Det skjedde en hel del i forrige uke — hvis du trenger å prokrastinere litt så kanskje du vil prøve et design-spill? https://cantunsee.space/