May 18, 2024

The full-stack framework discourse

JavaScript, Laravel, Rails, influencers & you

Every now and then, the topic of full-stack frameworks comes up. The debate is often framed as a choice between anything hot in the JavaScript world versus Laravel, Rails, Django, and so on. And it’s pretty tiring.

The JavaScript community has a flaw. It’s too big. There’s a lot of money to be made, and every new solution has a marketing push that makes it seem like the best thing since sliced bread.

For example, Next.js (which I mostly enjoy using) is advertised on Twitter circles as the best full-stack framework, with a very annoying and loud marketing push.

A full-stack framework has a lot of responsibilities. How do you handle emails? Writing templates? How do you test them? What about:

  • Background jobs
  • File uploads
  • Authorization
  • User impersonation
  • Multi-tenancy
  • Tracing
  • Logs

When there’s a lot of buzz, people are curious how exactly the JavaScript ecosystem is solving these problems. And this is where the friction comes in.


I don’t love opinionated full-stack frameworks, but I have built projects on the side with Laravel and Django, and they were a joy to use. There’s an undeniable productivity boost with these battle-tested frameworks. And it’s also a fantastic point of reference when you’re starting out.

But they are not perfect. No matter which client-side solutions they push, they don’t hold a candle to the JavaScript ecosystem. That's subjective, of course, but that's my experience.

Full-stack frameworks also ask you to commit to a certain way of doing things. Personally, I’m closer to the functional programming camp, and I don’t mind tweaking my stack to fit my quirks. But I know what I must re-implement when not using a full-stack framework, and I respect their solutions.

So what irks me is that these discussions lack nuance. There's no real discussion happening. It's just chatter that confuses beginners and makes them feel like they have to pick a side. Both cases have their merits.


Ultimately, I’m not here to tell you what to use. Context matters, and different people build different projects. I just want you to be aware of the biases of the people pushing you to use their tools.

For example, if a company pushes you to use its framework and promotes another service for its missing features, how would you feel if half their team has angel investments in that service? Do they care for your app, or do they want to pad their user stats?

If an influencer has that secret silver bullet tool to share with you, how can they vouch for it without shipping anything?

Do all these people have your best interest in mind or their own? And how do you know?

Everyone wants to make you a fan, but don’t take sides; it’s pointless. Be critical of the tools you use and prioritize sanity for yourself and your team.