Hi everyone!
It has been a tough week. Not easy to focus on React content when terrible war videos are everywhere on Twitter. To provide direct financial support to Ukraine: go to an official website such as Ukraine.ua, or be vigilant (many scams...). I choose UNHCR because French gov matches x4 the donation.
This week remains interesting in terms of content.
I created a Twitter community This Week In React to test the new Twitter feature, I don't know yet what will come out of it. Do not hesitate to join and we'll figure out.
🙏 Support the newsletter:
- 😘 Recommend it to your friends: it really helps!
- 💸 Sponsorise This Week In React
- 😍 Write testimonials on Twitter
- 🧵 Retweet the latest Twitter thread
- 📨 Reply to this email: feedback is welcome
React
Comparing Gatsby and Next.js for website development
Alex explains why his agency prefers Gatsby over Next.js for website development. It's pretty well argued. Gatsby is not very fashionable at the moment but I think it's still a good solution to ship a website quickly and easily integrate with a CMS out-of-the-box.
Optimizing third-party script loading in Next.js
Presentation of the work of the Aurora team at Google who worked on the <Script>
component of Next.js, optimizing the loading of third-party scripts. There may be an upcoming integration with Partytown, to run these scripts in a worker.
Adam shares his motivations for migrating his site from Next.js to Remix, as well as many other details (Prisma, Planetscale, UnoCSS...). Next.js remains a good choice. He really likes how Remix handle forms.
Interaction Testing with Storybook
Storybook now offers an interaction testing system (beta) co-located with stories to test components with Jest, Playwright and Testing Library. That looks quite convenient.
Extras:
- 🐦 React-18 RC1: should be released soon
- 🐦 Rachel Nabors leaves the React team at Meta after greatly contributing to the new beta React docs site and React-Native docs.
- 💬 Mark Erikson suggests to create a React Docs Working Group.
- 📜 A Fundamental Guide To React Suspense
- 📜 Share session and cookies between Next and Remix
- 📜 Higher-Order Components in React Hooks era
- 📜 Doordash: Building a Marketing Engineering Platform using Next.js, Cloudflare, and Contentful
- 👥 GatsbyConf 2022: 2-3 March
- 🎥 Figma + Remotion
- 📦 Redux Toolkit 1.8: listener side-effect middleware inspired by Redux-Saga: dispatch actions in reaction to other actions
- 📦 Gatsby 4.8 + Gatsby 4.9: improves TypeScript support, reduces memory footprint
- 📦 Docusaurus 2.0 beta.16: swizzle CLI, breadcrumbs...
- 📦 GraphCMS Docs Starter: Remix + Tailwind
- 📦 Headless UI 1.5: with Combobox
- 📦 Radix UI: release with Select, NavigationMenu and Toast
- 📦 Remix 1.2.3
React-Native
React Native New Architecture Working Group
GitHub discussions repo to support the rollout of the new React-Native architecture. Read-only but possible to request an invitation. Quite similar to the React-18 Working Group. Already a few interesting subjects under discussion.
Extras:
- 🐦 React-Native 0.68: pre-release announced as available (now in RC2)
- 🎥 Glassmorphism in React Native: last Skia video from William Candillon, nice demos of what is now possible in React-Native using blur/backdrop filters
- 🎙️ RNR 227 - Better React Native Tooling with Tommy Nguyen and Adam Foxman: Microsoft engineers presenting rnx-kit
Other
How to publish Deno modules to NPM
Kitson introduces dnt, a tool for transforming Deno code into Node.js compatible code. They managed to publish the Deno oak http framework on npm, but it is not without any challenges. I find this very encouraging: it should drive incremental adoption of Deno. As a TypeScript library author, I definitively want to target both ecosystems so that's a really good incentive to give Deno a try on a small lib.
Why Progressive Hydration is Harder than You Think
Miško Hevery is the creator of Angular, he is now working on Qwik, a new generation framework with a strong focus on progressive hydration. It will be difficult for current existing frameworks to fully support this concept without changing mental models. It's not an afterthought for Qwik, unlike other frameworks.
Extras:
- TypeScript 4.6: with great Control Flow Analysis improvements
- Type Polymorphic Functions In TypeScript
- What are wrapper objects for primitive values?
- 5 things you don't need Javascript for
- Track down the JavaScript code responsible for polluting the global scope
- State of frontend 2022 Survey
- Parcel CSS 1.4
- "Nice, the CSS on the webpack website is now minified by Parcel CSS."
- Things the CSS Spec Folks Got Right
- Rust 1.59.0
- Node v17.6.0
- Vite in 100 seconds
- Astro 0.23
- Prisma 3.10
- Javascript Records and Tuples
- Putting Javascript in CSS with Paint Worklets
- Zap: Dart-powered web framework