Hacker News new | ask | show | jobs
by LargeWu 521 days ago
There was a period of time around the height of Rails original heyday where the idea of a very opinionated, complete framework such as Rails got a lot of blowback, which gave rise to the Javascript ecosystem and its myriad front-end frameworks.

I think the pendulum is kind of swinging back the other way now. While there are certainly advantages with the Node ecosystem, it always felt very messy to me. Rails language extensions, ORM, testing, and migrations frameworks have never been matched by any javascript libraries. Ruby and Rails have always prioritized quality of life features, which made it a very enjoyable and productive framework.

2 comments

I think the reason rails has stuck around is because of it being a very opinionated framework and it dictates a method to do almost anything. This allows the docs to be very straightforward, almost as if they were written for the Rails application itself.

I also think the language itself is a big plus. I don't like the reflection system or hot patching being a feature in a language, but rails makes extensive use of it to create it's own domain specific language.

The reflection and hot patching features are often called out as negatives, and in general I agree, but for the most part, they're non-factors. All of the "find_x_by_id_and_status()" methods that rely heavily on reflection are all available with a more general, maintainable "find_by()" method which just takes a hash of parameters. And in practice, I'm not sure how much custom hot patching is actually used in production codebases. Overall it's mostly a red herring which detractors have vastly overstated.
Yeah, i mainly deal with react/next + supabase on a daily basis at work.

And do sometimes think of small apps i could build for fun, but the thought of doing react, again, is tiring in and of itself lol plus the whole setup around getting express running and picking packages.

Rails is ready out of the box, for me to not have to screw around with.

Just love the ruby syntax(along with python, which i am actively learning now with datacamp). Its cleaner, and i can probably do 90% of what i do in react there. Then for the rest throw solid js or svelte, or even just react for specific components.