Hacker News new | ask | show | jobs
by cortesoft 2067 days ago
I really should try Rails again. I LOVE ruby, but have been anti-rails for a while and I am not sure I am right for that.

I got into Ruby programming through Rails... but in 2005. Rails was brand new (I think I was on version like 0.12 or something?), and I slowly moved away from it to things like Sinatra and Sequel. Rails had some huge performance issues, and active record was pretty unusable at any sort of scale unless you did a lot of custom SQL.

I know it has come a long way in 15 years, I should try again

2 comments

I'm sure it depends on the complexity of the app you're building. For simple crud-ish apps (ecommerce, online auctions, etc) I've found that I don't need to write even a single line of custom SQL, and performance is generally good (lots of N+1s, but these are easy to avoid with things like bullet). I also love being able to let Rails render most HTML, and the few things that need to be very dynamic you can just throw a single react component in without worrying about the usual SPA problems.

If you're just prototyping stuff, I don't think you can beat Rails for productivity. But if you're targeting something more enterprise or large scale, I don't think it's a good choice. Go/Rust are so much faster (not that that matters a lot), and even things like C#/Java pretty nice to use nowadays.

"lots of N+1s, but these are easy to avoid with things like bullet"

What is bullet?

It is a plugin/gem that helps you track N+1 queries.

https://github.com/flyerhzm/bullet

Thank you!
It is a gem that tells you when you are accidentally making a N+1 query and suggests the best way to fix it in AR (it also tells you when you have over used includes that are not needed and other such tweaks to make to your queries).
It's definitely a lot better -- performance-wise -- now. It has its flaws but I still feel like its one of the best frameworks out there.