π¨ #194: React Conf, Rsnext, TypeScript, Next.js, PPR, Owner components, Preloading, Zustand, Flutter, Preact, Fumadocs, New Arch Survey, Expo CNG, Flutter, VisionOS, Node.js...
Hi everyone!
I don't know about you, but it's hot here! π
Only in Β°C/Β°F, because this week has been quite cold in terms of news. π₯Ά
Many great articles, but no major React release or announcement.
TypeScript saved the week, with the first v5.6 beta, and first-class support coming in Node.js!
Check our partner conf React Africa (π²π¦ Casablanca - November 29th).
Get a 10% discount with code βTWIRβ.
It's the very first international React conf in Africa! Great speakers have already been announced.
π‘ Check this newsletter on Twitter - visual format π¨
To support me:
- π Recommend the newsletter to your friends: it really helps!
- πΈ Sponsor the newsletter
- 𧡠Retweet the latest Twitter thread
Don't miss the next email!
πΈ Sponsorβ
NLUX is a powerful open-source React library that makes it super easy to add conversational AI capabilities to your web apps. Create high-quality chat UIs with just a few lines of code.
Check the project's GitHub repository to get started, or visit the docs website for tutorials, examples, and API reference.
βοΈ Reactβ
The React Conf 2024 talks are finally online, and you can also take a look at the photos and highlights video.
We havenβt had any huge React announcement this week, so I thought it would be cool to remind you about all the great upcoming React 19 features thanks to this great bento slide from Lydia Hallieβs talk. Note that React 19 is in Release Candidate and should be out soon.
- πΈ Reactile β a new approach to React-based web apps. Create your own views. Let it handle your windows and widgets in a single browser tab
- π Rsnext: The Rspack team is working on getting Next.js to work under their Rust bundler and shared great progress. The first alphas have been published and can be tried by aliasing βnextβ to βrsnextβ. Also, Rspack 1.0 beta 1 is out with a new βlayersβ feature, useful for bundling your app in multiple variants and supporting React Server Components. We'll share more about this in the future, once it's ready for prime time.
- π Enhancing SEO in Flutter Web Projects with Next.js Integration: Flutter users are desperate to solve the web SEO problem, after Google shared its intention to deprecate and remove the HTML renderer. This awkward workaround is based on Next.js.
- π¦ Million Lint - Get parents/children on hover, Locate render triggers
- π Stack Overflow Dev Survey - The 2024 results: React, Node.js, and JavaScript remain the most popular technologies.
- ποΈ React Rally - πΊπΈ Utah - 12-13, August - Last call ! You still have a chance to get your ticket, and donβt forget the 10% discount with code "TWIR".
- ποΈ Squiggle Conf - πΊπΈ Boston - 03 & 04 October - Get a 10% discount with code "TWIR". 1 day of conferences, 1 day of workshops, in the heart of Boston historic district, on web dev tooling !
- π React Owner Components: Greatly explains the difference between Owner and Parent components. The owner creates the JSX and passes props to it. Client Components cannot own Server Components.
- π Dissecting Partial Pre Rendering: Illustrates how Next.js experimental PPR features takes the best of other rendering strategies with a concrete example: a static course page with dynamic reviews.
- π Vercel - Flags as Code in Next.js: Explains how the new package
@vercel/flags/next
encodes best practices for integrating feature flags in Next.js, decoupling your code from the underlying flag provider source. Flags are always evaluated server-side, this prevents layout shifts, spinners and disclosing sensitive things to the client. I find it pretty cool that it works with static pages and PPR too: you can precompute as many static variants as there are flag permutations! - π Netlify - Live Preview for Gatsby is back (and better) with the new Dev Server: Netlify has a new generic platform primitive to start your framework Dev Server in the cloud. Useful for Gatsby live previews when using compatible content (CMS) source plugins.
- π Flexible network data preloading in large SPAs: When not using a framework, you might want to inline in the HTML some data preloading logic, to speed up your app startup time by parallelizing data/bundle fetching.
- π Creating your own store: Shows what it takes to create your own store that you connect to React with
useSyncExternalStore
. - π Exploring a useState-like API with Zustand: A Fun Experiment: Shows how you can build on top of Zustand so that selectors return a
[state, setState]
tuple. - π After a Decade of React, Is Frontend a Post-React World Now?: There are good alternatives, but React is still growing, and I believe its growth is still accelerating (π¦ tweet).
- π Battle of the Asyncs: Compares Reactβs
use
hook with SolidβscreateAsync
, and observes the React solution looks slightly less convenient (even with RSCs). - π Why is Zustand a community favorite?: Positive feedback for Zustand, a well-designed, lightweight state manager with selector support.
- π Boosting performance: Faireβs transition to NextJS: Incremental migration from a Kotlin + React SPA to Next.js stack.
- π Complete Guide to State Management in React: A comprehensive guide, also covering localStorage and query parameters.
- π¦ Preact 10.23 - Support ref cleanup functions
- π¦ Fumadocs 13.0 - Better Code Blocks, Callouts,
- π¦ Bun 1.1.21 - Fix Remix Request/Response override issue
- π¦ Novel 0.5 - Notion-style AI-powered WYSIWYG editor
- π₯ Jack Herrington - Vites Fatal Flaw Fixed With Vinxi
- π₯ Theo - New York Times Sees 30% Perf Win By Switching To React...18?
- π₯ Web Dev Simplified - Learn React Generic Components In 6 Minutes
Don't miss the next email!
πΈ Sponsorβ
Build a team-based task manager with Next.js
Learn to build a multi-tenant task manager that solves team isolation, user role management, and authentication challenges.
π± React-Nativeβ
This section is authored by Benedikt.
We had a lot of news about the New Architecture over the past months, including how it became the new default this year. Now, the teams at React Native and Expo have launched a survey to learn more about your adoption (or whatβs keeping you from adopting it). It has 17 questions and should only take a couple of minutes, so I suggest we all help our friends at Meta and Expo out and share our New Arch experience with them. Iβm sure theyβll pay us back by using the feedback for even more improvements!
- πΈ Build cross-platform apps with React Native. Combine native performance & JavaScript ease. Learn PDF viewer creation with Apryse SDK
- π React Native PR - React Native 0.75 will add Swift Package Manager support: Now part of RC 6
- π Expo PR - react-native-macos support for config plugins
- π¦ Expo SDK 52 will have native fetch streaming with JSI
- π¦ UploadThing now supports file uploads on mobile via Expo
- π¦ GPU Access from React Native - First technical preview of WebGPU in React Native
- π¦ Expo Router FAQ - must we use index files?
- π What is Continuous Native Generation and why does it matter? CNG is the process of generating native projects (i.e. Android and iOS project files) on demand. This article goes into the advantages of this approach and how it works.
- π Adding React Native to an Existing Flutter App: We all know RN works well in a brownfield approach (adding RN to native apps), but this article explores how RN can work in Flutter apps as well.
- π¦ RN 0.74.4
- π¦ RN 0.75.0 RC 6
- π¦ React-Native-VisionOS 0.75.0-rc.1
- π¦ Custom Expo Router layouts repo updated to use v3.5+
- π¦ expo-drag-drop-content-view 0.8.1 - Supports New Arch and all file types
- π₯ Reactiive - Checkbox Interactions - The beauty of Layout Transitions (React Native Reanimated)
- π₯ notJust.dev - AI-Powered Google Translate Clone in React Native
- ποΈ Rocket Ship 46 - Developing React Native TV Apps with Giovanni Laquidara
π Otherβ
- π Node.js - Roadmap for experimental TypeScript support: Huge, Node.js just merged the first PR of this plan, adding a new
--experimental-strip-types
option to let TypeScript run natively on Node.js. - π Agenda for the 103rd meeting of Ecma TC39: Happening right now! Great proposals have already progressed, such as
RegExp.escape
. - π Patterns for Memory Efficient DOM Manipulation with Modern Vanilla JavaScript
- π Garbage collection and closures
- π Please Stop Using Barrel Files
- π Providing Type Definitions for CSS with @property
- π Deno - What we got wrong about HTTP imports
- π¦ TypeScript 5.6 Beta - Detect suspicious Truthish/Nullish checks, iterator methodsβ¦
- π¦ Node 20.16 - Add process.getBuiltinModule(id)
- π¦ Babel 7.25 - Safari bugfixes and duplicated named capturing groups
π€ Funβ
See ya! π
Don't miss the next email!