I like RSC


I like RSC. But it’s not perfect.

Problems I’ve noticed:

1. Next.js is the only mature implementation I’ve seen so far.

2. Need a complex server config to host it. It’s not very practical to create a useful RSC “hello world” from scratch.

3. It’s not traditional server side rendering because the server doesn’t render components as HTML. So it doesn’t improve SEO (although RSC architecture is potentially faster at rendering, so that may help SEO).

4. It’s hard to debug. I can’t easily see what’s happening on the server or step through it.

5. The mental model is more complex. I have to understand new concepts like “use client”, “use server”, and server actions. For each component, I need to ask “how can I decompose this so that most of the code is in a RSC?”

6. If a third party component isn’t updated to support RSC, I may have to wrap it in my own component that calls “use client”.

I’m happy to be corrected on any of these, but this is what I’ve seen so far.

View original on X