I picked Ruby on Rails over React-based SPA to build Reviewbunny and it was wonderful. I didn’t procrastinate determining the perfect setup or choosing dependencies. Instead, I procrastinated after having finished the MVP. I’d rather do the latter!
I still enjoy React, but why is it so much harder to create apps in the JavaScript ecosystem, compared to Rails? We have all the necessary tools after all.
I think it all comes down to this. When I start a new JavaScript app, I have to make a lot of decisions on my own. I don’t want to, but reality is, I have to.
Package manager
npm, Yarn 1 or 2 (yes, they’re completely different), pnpm or Snowpack?
Framework
Next.js, Remix, Gatsby, Vite, Create React App, Koa or Express?
Tooling
Set up TypeScript, Prettier, linter and test framework.
Project structure
There are no conventions on this. Every company or project has their own. Or doesn’t.
At the last company I worked at, I could count at least 6 different ways of writing and organizing UI code. I can’t quickly jump into a new JavaScript codebase and start working productively.
Today’s frameworks have rules on how to create pages, which is great. But I’m on my own where to place everything else.
Data storage
SQL databases, MongoDB, Firebase, Fauna, Cloudflare Durable Objects or Planetscale?
Serverless platforms can spawn many instances of my app, so I need connection pools in front of a SQL database to avoid making thousands of connections. MongoDB and Firebase are too flexible, because there’s no