I feel like leerobs new post reflecting on the s
I feel like @leerob’s new post reflecting on the switch from Vercel to Cursor is more about incentives that shape our architecture. A bundler‑coupled RSC plus non‑commercial stewardship left space that frameworks rushed into and that’s how we talked about React ca. 2020 to 2025. Quick technical note: RSC extends React’s composition across a server and a client. The server renders JSX to a lightweight format that includes module references. The bundler sees a use client boundary, splits code, and the client hydrates only what it needs. With React 19, Actions and useActionState make form posts and mutations doable without a full framework, and you can call a server function, handle pending and error states, and keep the UI optimistic. It feels like React, just with better plumbing and more opinionated best practices. Rollout reality from my point of view: using Next.js’s app router as the test track sped up learning for many, while it did not keep the ecosystem in lockstep. Today, Parcel ships RSC. Vite has a dedicated RSC plugin. React Router is aligning on an RSC path. The “Next only” phase is ending, slowly but surely. Post CRA world: with create-react-app sunset earlier this year, the default is a framework or a Vite or Parcel stack you assemble. RSC possibly becomes the full stack baseline, though I feel like many “apps” still need to think more TanStack Query/DB and less server rendering for that Linear-fast feeling, but maybe a combination is what we need (ssr then revalidate). Portability is still fragile, though. React 19 notes bundler integration may change between minors. We need a spec and a conformance suite. Tests that fail loudly, please! Thank you @leerob for everything you’ve done for the ecosystem, excited to see what follows! Where do we go from here? - Is it a zero-sum game between RSC and building an “app” app, is RSC just for “websites”, and can Vite/Parcel?Turbopack agree on a shared RSC contract? - What are the streaming and error semantics across the boundary? I feel like there’s opportunity for a great DX package for this. Feels like we haven’t fully figured it out yet. Because I still don’t know how we debug and trace this in prod without tears. I focused too much on the technical parts here, but this was a very thoughtful piece by Lee. Worth a read: https://leerob.com/reflections