With Next.js and React Server Components becoming the standard, I find myself writing fewer and fewer useEffect fetch calls. If the "backend" is now just a function I call inside a component, am I still doing Full Stack development? Is the traditional separation of concerns between frontend and backend becoming a thing of the past?
3 answers
It’s definitely blurring the lines, but the "backend" logic hasn't disappeared—it just moved closer to the UI. You still have to worry about SQL injection, database indexing, and server-side caching. In fact, RSC makes you more of a Full Stack developer because you have to be conscious of what code runs on the client versus the server in every single file. You can't just throw things over the fence to a "backend team" anymore. You are responsible for the entire data lifecycle from the DB query to the rendered HTML.
Does this tight coupling between the UI and the Database make it harder to migrate to a different framework later on?
I love RSC because it forces you to think about the data first. It makes the "Full Stack" feel like one cohesive experience rather than two disconnected apps.
Exactly, Beverly. Julianna, you're still a Full Stack dev; you're just using a more efficient, unified toolkit to get the job done.
Tyler, that is the biggest trade-off. You are essentially "locking in" to your framework's ecosystem. However, for most companies, the speed of development gained by not having to maintain a separate API layer is worth the risk of "framework lock-in."