Hacker News new | ask | show | jobs
by treis 1276 days ago
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.

2 comments

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.