Hacker News new | ask | show | jobs
by mike1o1 1274 days ago
I love Rails and how simple and boring[0] it is, and appreciate how it keeps evolving and growing. I've dabbled with some Javascript frameworks and Elixir/Phoenix, but always come back to Rails and forget just how fast and productive I can be. A lot of people complain about it, but I feel like Active Record just can't be beat, and helps me feel so productive. Add Stimulus and Turbo and the level of UI fidelity possible is impressive.

[0] https://boringrails.com/

5 comments

You can like rails, but calling it boringly simple is highly misleading. I think, generously, something like "complex but fully-featured" might be accurate.

As a reference point, the top 2 rails books on amazon are 900 and almost 1100 pages.

I say this to warn those who are looking for something minimalist and quick to learn -- Rails does not fit the bill.

nah, at this point RoR is boring (in a good way), and it's a good thing.
Boring in a good way, absolutely. Definitely not simple though
I was struggling with rails 6 and whole JS / webpack thing. But with rails 7 it feels like home again
I love how they focus on simplicity and are not afraid to cut stuff out. Often times, software projects get more complicated over time. Rails seems to get simpler.
it has added stuff (attachments, some wysiwyg editor, docker support) while removing other. It's neither getting smaller nor bigger, it just "moves" (maybe following Basecamp's needs).

Which is (arguably) a good thing.

I've got two problems with Rails:

(1) IMHO they've flubbed the progressive typing. I'm spending some time learning Typescript and React. And it's amazing. The type system is flexible, powerful, and works well with an IDE. It's just way faster to write when code gets complexer. The fact that it's null and type safe is the cherry on the top. Amazing that Javascript with all of it's warts can be turned into this.

(2) They've never really got the front end story right. Coffeescript was a dead end, then Turbolinks was the thing, and now it's Hotwire. None of them are really right. Rails will always be a primary SSR paradigm. They just need an easy way to do basic dynamic things like show/hide fields and form error checking clientside. Ideally something written in Ruby and well integrated into the form builder.

A bonus for (3) is that the Rails UI is ugly out of the box. Wish they'd have more integrated UI components that are production ready.

1 has nothing to do with Rails. Rails is a framework, Ruby is the language.

As for 2, I see this as a common complaint, but Hotwire, Turbo Streams with ViewComponent is a really power combination whose full potential is still being worked out.

As for client-side error checking... why? So I have to maintain validations in two places and ensure they always match?

I don't even understand your 3. Rails has no UI. Do you mean the CSS applied to the scaffolding views?

I agree with your number 2 especially, but think that Stimulus is doing a fairly good job at it now. The Turbo side of Hotwire still feels like a bit of a mess, especially once you try to do a lot with it. But little Stimulus controller additions here and there are (with the main exception of managing a lot of verbose data attributes) almost a delight to work with.
> I feel like Active Record just can't be beat

Please allow me to introduce Sequel (https://sequel.jeremyevans.net/) for your consideration.