DX vs. UX: The RSC False Dichotomy

Bookmark
Rate this content

React Server Components face a unique challenge in the React ecosystem: they're powerful, but they're primarily associated with a single framework. This talk examines the broader industry implications of RSC's current adoption pattern and why the technology's success depends on ecosystem-wide support, not just Next.js implementation. We'll explore the real barriers to RSC adoption—from legacy codebase constraints to the substantial engineering investment required—and why these challenges have created a subtle industry narrative that "RSC might not be worth it." This session provides both a technical assessment of RSC's current capabilities and a strategic view of its role in React's future.

This talk has been presented at React Summit US 2025, check out the latest edition of this React Conference.

FAQ

Amy Dutton is a Senior Design Engineer at G2I and a lead maintainer on the Redwood JS core team.

React Server Components are a feature in the React ecosystem that allow components to be rendered on the server, which reduces JavaScript, improves performance, and simplifies data dependencies.

Redwood JS adopted React Server Components to address criticisms of GraphQL and enhance performance by leveraging server-side rendering and reducing JavaScript.

Implementing React Server Components involves complexities such as ensuring server-side rendering, handling hydration and caching, and integrating with frameworks like Vite and Next.js.

The transfer of Redwood JS ownership to Peter Pistorius led to a shift in focus towards React Server Components and the use of Cloudflare services for improved performance and delivery.

Redwood JS offers a configuration-based routing system and a clear picture of middleware operations, differing from the file-based routing and middleware handling in Next.js.

The adoption of React Server Components is controversial due to its initial narrow ecosystem support, primarily being implemented within Next.js, leading to challenges in adoption for other frameworks.

React Server Components offer benefits such as improved performance, reduced JavaScript, better data handling, and a simplified mental model for code execution locations.

For better RSC adoption, the ecosystem needs framework support, tooling, documentation, and examples that are independent of a single framework like Next.js.

The future of React Server Components involves broader ecosystem support, making RSC a standard practice in React development, enhancing both developer and user experiences.

Amy Dutton
Amy Dutton
28 min
18 Nov, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Amy Dutton discusses the transition to React server components in 2022, addressing challenges in implementation. Challenges include server-side rendering, hydration, caching, and server actions. Peter emphasizes the importance of choosing the right tools for product development. React server components impact development workflows and ecosystem perspectives, leading to a shift in developer perspective. RSE benefits include lighter UI, smaller Java bundles, and improved code security. Embracing RSE as an ecosystem effort aims for architectural alignment with frameworks and natural advancements in the development environment.

1. Discussion on React Server Components

Short description:

Amy Dutton, Senior Design Engineer, G2I. Discussing React server components and the shift in industry conversation. Worked on Redwood JS core team, transitioned to React server components in 2022, addressing challenges in implementation.

My name is Amy Dutton, as Scott said, and I am a Senior Design Engineer at G2I. And today we're going to talk about one of the most debated topics in the React ecosystem. It's one of my favorite things to talk about. And that is React server components. Specifically, why the industry conversation around RSC keeps shifting.

So let me tell you a little bit about where I'm coming from. For the past two and a half years, I've worked on the Redwood JS core team as one of the lead maintainers. And since I worked on a meta framework full time, I made it my job to know what all the other frameworks were doing. I figured if I was going to go to conferences like this one and say, Redwood is great, I needed to know why I thought Redwood was great and how it measured up against all the other frameworks.

Ultimately, we're all trying to solve the same problems. And I believe that the rising tide lifts all boats. So I wanted to be able to explain specifically what made Redwood different and why you might reach for it over another framework. So in 2022, we decided that we were going to go all in on React server components. Now, this was a big deal. If you know anything about Redwood, you know that it was originally built on top of GraphQL.

Surprisingly, a lot of you guys don't like GraphQL. That was a criticism that we heard often. And so listening to you guys, we decided to go all in on React server components. So the engineers on my team spent the better part of two years diligently plugging away. So why was it so hard? Well, there are several factors at play. First, framework code is not the same as application level code. In my mind, framework code is next level programming. And I can say that because I didn't write the framework level code.

2. Challenges in Implementing React Server Components

Short description:

Frameworks solve complex problems. Implementing React server components requires more than a simple switch. Challenges include server-side rendering, hydration, caching, and server actions. Redwood.js faced integration difficulties and ownership transitions, leading to new approaches in React server components.

Frameworks exist and solve a really hard set of problems so that the rest of us don't have to. When it comes to implementing React server components, it's not just a switch that you can turn on or off. You can't just upgrade React. And now you magically have React server components in your project. Unfortunately, it's a little bit more complicated than that. And so once you have React server components, you also have to have server side rendering to ensure that everything is rendered, sent down from the server properly. And then you also have to think through hydration and caching and server actions and functions.

So React might be well documented, but all of the pieces that you have to set up on the back end to make this technology work are not documented. Or at least they weren't in 2022. But it's not just React. So with Redwood we used Vite. Next.js for context uses TurboPack. So it's not like we could just copy and paste the pieces and parts that we needed from Vite weren't documented either. And so we were really solving problems that had never been solved before.

Let me add on just a few more layers. Redwood.js was started in 2020. And one of its appeals that we had first class support for Storybook, Prisma, and Jest. And so we tried our best to maintain all of those integrations. And so you can imagine that it was difficult to achieve that backwards compatibility. Then another layer in 2024, so almost a year ago exactly, Tom, who's the original owner, he handed everything over in the project to Peter Pistorius. And one of the interesting things about Peter is that he lives in South Africa. So a lot of the problems that he's trying to solve in terms of performance and delivery are very different than a lot of the problems that we're trying to solve living in the United States.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Simplifying Server Components
React Advanced 2023React Advanced 2023
27 min
Simplifying Server Components
Top Content
Watch video: Simplifying Server Components
React server components simplify server-side rendering and provide a mental model of components as pure functions. Using React as a library for server components allows for building a basic RSC server and connecting it to an SSR server. RSC responses are serialized virtual DOM that offload code from the client and handle interactivity. The client manifest maps serialized placeholders to real components on the client, enabling dynamic rendering. Server components combine the best of classic web development and progressive enhancement, offering the advantage of moving logic from the client to the server.
Exploring React Server Component Fundamentals
React Day Berlin 2023React Day Berlin 2023
21 min
Exploring React Server Component Fundamentals
Top Content
Watch video: Exploring React Server Component Fundamentals
This Talk introduces React Server Components (RSC) and explores their serialization process. It compares RSC to traditional server-side rendering (SSR) and explains how RSC handles promises and integrates client components. The Talk also discusses the RSC manifest and deserialization process. The speaker then introduces the Waku framework, which supports bundling, server, routing, and SSR. The future plans for Waku include integration with client state management libraries.
And Now You Understand React Server Components
React Summit 2024React Summit 2024
27 min
And Now You Understand React Server Components
Top Content
In this Talk, Kent C. Dodds introduces React Server Components (RSCs) and demonstrates how to build them from scratch. He explains the process of integrating RSCs with the UI, switching to RSC and streaming for improved performance, and the benefits of using RSCs with async components. Dodds also discusses enhancements with streaming and server context, client support and loaders, server component rendering and module resolution, handling UI updates and rendering, handling back buttons and caching, and concludes with further resources for diving deeper into the topic.
A Practical Guide for Migrating to Server Components
React Advanced 2023React Advanced 2023
28 min
A Practical Guide for Migrating to Server Components
Top Content
Watch video: A Practical Guide for Migrating to Server Components
React query version five is live and we'll be discussing the migration process to server components using Next.js and React Query. The process involves planning, preparing, and setting up server components, migrating pages, adding layouts, and moving components to the server. We'll also explore the benefits of server components such as reducing JavaScript shipping, enabling powerful caching, and leveraging the features of the app router. Additionally, we'll cover topics like handling authentication, rendering in server components, and the impact on server load and costs.
Server Components: The Epic Tale of Rendering UX
React Summit 2023React Summit 2023
26 min
Server Components: The Epic Tale of Rendering UX
Top Content
Watch video: Server Components: The Epic Tale of Rendering UX
This Talk introduces server components in React, which provide an intermediate format for rendering and offer advantages for both client-side and server-side rendering. Server components reduce bundle size on the client and improve search engine optimization. They abstract the rendering process, allowing for faster rendering and flexibility in choosing where to render components. While server components are still in the experimental stage, Next.js is a good starting point to try them out.
RSCs In Production: 1 Year Later
React Summit 2024React Summit 2024
24 min
RSCs In Production: 1 Year Later
This Talk explores the experience of shipping server components in production and highlights the benefits and challenges of using Server Components in Next.js apps. The Talk discusses the deployment of UploadThing and the use of AppRouter for safe production usage. It delves into the implementation of different layouts, data fetching, and code centralization for improved performance. The Talk also covers the use of server components for performance optimization and latency handling. Additionally, it explores the use of Edge and Lambda for partial pre-rendering and the challenges faced with webpack performance and hydration. Overall, the Talk emphasizes the benefits and challenges of working with Server Components in Next.js applications.

Workshops on related topic

Mastering React Server Components and Server Actions in React 19
React Summit US 2024React Summit US 2024
150 min
Mastering React Server Components and Server Actions in React 19
Featured Workshop
Maurice de Beijer
Maurice de Beijer
Calling all React developers! Join us for an immersive 4-hour workshop diving deep into React Server Components and Server Actions. Discover how these game-changing technologies are revolutionizing web development and learn how to harness their full potential to build lightning-fast, efficient applications.

Explore the world of React Server Components, seamlessly blending server-side rendering with client-side interactivity for unmatched performance and user experience. Dive into React Server Actions to see how they combine client-side interactivity with server-side logic, making it easier to develop interactive applications without traditional API constraints.

Get hands-on experience with practical exercises, real-world examples, and expert guidance on implementing these technologies into your projects. Learn essential topics such as the differences between Server and Client Components, optimizing data fetching, passing data effectively, and maximizing performance with new React hooks like useActionState, useFormStatus and useOptimistic.

Whether you're new to React or a seasoned pro, this workshop will equip you with the knowledge and tools to elevate your web development skills. Stay ahead of the curve and master the cutting-edge technology of React 19. Don't miss out - sign up now and unleash the full power of React!
Next.js 13: Data Fetching Strategies
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Data Fetching Strategies
Top Content
Workshop
Alice De Mauro
Alice De Mauro
- Introduction- Prerequisites for the workshop- Fetching strategies: fundamentals- Fetching strategies – hands-on: fetch API, cache (static VS dynamic), revalidate, suspense (parallel data fetching)- Test your build and serve it on Vercel- Future: Server components VS Client components- Workshop easter egg (unrelated to the topic, calling out accessibility)- Wrapping up
The Gateway to Backend: A Frontend Developer's Guide to Full-Stack Development
React Summit US 2023React Summit US 2023
160 min
The Gateway to Backend: A Frontend Developer's Guide to Full-Stack Development
Top Content
WorkshopFree
Amy Dutton
Amy Dutton
This workshop will guide you through the product development life cycle of creating a real-world web application. You will learn about React Server Components, building a design system within Storybook, and using frontend development to approach becoming a full-stack developer. The workshop will cover increasing confidence in your application with unit tests and implementing authentication and authorization. You'll have the opportunity to work through product features and examine a real-world RedwoodJS project, gaining valuable experience in real-world product development. RedwoodJS makes it simple to approach full-stack development, and this workshop will give you the skills you need to create your own real-world web applications.
Advanced Application Deployment Patterns with React Server Components (feat. a DIY RSC Framework)
React Summit US 2023React Summit US 2023
104 min
Advanced Application Deployment Patterns with React Server Components (feat. a DIY RSC Framework)
Top Content
Workshop
 Greg Brimble
Greg Brimble
The developer ecosystem is always moving fast and this year has proved no exception. React Server Components can offer a significant improvement to developer experience and to application performance. But I think it's fair to say that this new server-first paradigm can be tricky to wrap your head around!In the first half of this workshop, we'll explore React Server Components from the ground-up: building our own mini meta-framework to help us understand how RSCs work. We'll discover exactly what is produced by an RSC build and we'll connect those pieces together to form a full application.Next, we'll deploy it! Cloudflare have also had a busy year too — Smart Placement, in particular, is a new technology that we've developed which fits the RSC model perfectly. We'll explore why that makes sense for our workshop app, and we'll actually deploy it onto the Cloudflare Developer Platform.Finally, we'll build out our app a little further, using D1 (our serverless SQL database) to really show off the React Server Component's power when combined with Smart Placement.You should come away from this workshop with a greater understanding of how React Server Components work (both behind-the-scenes and also how you as a developer can use them day-to-day), as well as insight into some of the new deployment patterns that are now possible after recent innovations in the platform space.
Building Reusable Server Components in NextJS
React Summit US 2023React Summit US 2023
88 min
Building Reusable Server Components in NextJS
Top Content
Workshop
Will Bishop
Mettin Parzinski
2 authors
React continues to evolve their beta capability, React Server Components, and they're continuing to further develop them in partnership with frameworks like NextJS.In this workshop, attendees will learn what React Server Components are, how to effectively build and use them in NextJS, and focus on one of the major advantages of React/NextJS: reusability through components.We will also cover related beta technologies enabled by the `app` directory, such as nested layouts and server actions (alpha/experimental capability).Join us for this hands-on, 120 minute workshop!Technologies:
React, JavaScript/Typescript, NextJS, Miro
React Server Components Unleashed: A Deep Dive into Next-Gen Web Development
React Day Berlin 2023React Day Berlin 2023
149 min
React Server Components Unleashed: A Deep Dive into Next-Gen Web Development
Top Content
Workshop
Maurice de Beijer
Maurice de Beijer
Get ready to supercharge your web development skills with React Server Components! In this immersive, 3-hour workshop, we'll unlock the full potential of this revolutionary technology and explore how it's transforming the way developers build lightning-fast, efficient web applications.
Join us as we delve into the exciting world of React Server Components, which seamlessly blend server-side rendering with client-side interactivity for unparalleled performance and user experience. You'll gain hands-on experience through practical exercises, real-world examples, and expert guidance on how to harness the power of Server Components in your own projects.
Throughout the workshop, we'll cover essential topics, including:- Understanding the differences between Server and Client Components- Implementing Server Components to optimize data fetching and reduce JavaScript bundle size- Integrating Server and Client Components for a seamless user experience- Strategies for effectively passing data between components and managing state- Tips and best practices for maximizing the performance benefits of React Server Components