DEV Community

Jonathan Flower
Jonathan Flower

Posted on • Originally published at blog.jonathanflower.com on

React Server Components: A New Era of Web Development?

Here is a great podcast that captures some of the history from Dan Abramov:

React Server Components with Dan Abramov (JS Party #311)

Part of what I found interesting is the misconception that RSC is all about server side rendering. There is some question about there potentially being a better name.

I like how Josh Comeau explains it:

React Server Components is not a replacement for Server Side Rendering. You shouldn’t think of React Server Components as “SSR version 2.0”.

Instead, I like to think of it as two separate puzzle pieces that snap together perfectly, two flavors that complement each other.

We still rely on Server Side Rendering to generate the initial HTML. React Server Components builds on top of that, allowing us to omit certain components from the client-side JavaScript bundle, ensuring they only run on the server.

Making Sense of React Server Components – Josh Comeau

And here is another great podcast about RSC: Simplifying Server Components by Mark Dalgleish

I am still on the fence about RCS. Clarifying that this is not simply SSR 2.0 is helping me get over some of my resistance. However, I am failing to see enough value add here for most web apps. An approach like this is complicated and presents its’ own set of challenges. This new approach requires adopting a novel mental model for how the app works. This means it will present a challenge for developers to adopt and troubleshoot effectively. If your solution can be delivered as an SPA or SSR, the developer experience and performance is pretty great these days. I wonder at what point does it start to make sense to add the complexity of RSC.

The other area I am researching is how to deploy offline first with RSC. I am a huge fan of offline first and optimistic UI patterns because of the massive performance and scalability advantages. It is not clear to me how to develop these patterns with RSC or if you would want to.

One very cool application of RSC is in AI agents. Since the AI models are server side, it makes sense to render components server side. Having the ability to dynamically render UI for each AI agent response has some very cool use cases. Checkout what Vercel is doing with what they are calling Generative UI: Introducing AI SDK 3.0 with Generative UI support

Top comments (0)