Top
Best
New

Posted by stanislavb 10 hours ago

Returning to Rails in 2026(www.markround.com)
250 points | 163 commentspage 2
ramon156 9 hours ago|
I had a project I already tried out in Symfony and then full typescript, both a normal REST setup and ORPC. They all felt like - at scale - they became messy and I was unsure where goes what.

I gave RoR a try last year, and so far I'm at the same level I was with the other projects but I actually enjoy programming the project after the PoC phase. Maybe because third time's a charm? Maybe because I know what I need to do? Who knows! But RoR fits in that idiom.

Just to note, its a really boring app thats been done before (odeva.app)

kugelblitz 8 hours ago|
I usually go full Symfony with my projects until I need to spread it out. But even for interactivity, I first go for htmx and Alpine.js instead of full React or so, where I then need to setup API on backend and frontend.

I think once you're deep into a project, you of course know the features needed and the constraints and you'll be more efficient the next time around.

I think the challenge is to keep working on your old legacy projects.

Plus Symfony is quite flexible on how you want to organize your code. Modular monolith, monolith, DDD, microservices, "junior developer just setting up controllers and entities".

ramon156 1 hour ago||
I totally agree. At my first job, they instantly jumped towards Symfony and AngularJS. Sounds good, but they could've totally gone for something more lightweight. They DID NOT NEED the complexity AngularJS (and Angular2) brought them. When I left I tried my best to update to at least an LTS version, but I did not succeed and they did not care. I believe they're now migrated to Angular2 but are already stuck in hell
devnotes77 2 hours ago||
The upgrade path in Rails 8 is smoother than it's ever been, especially with the built-in solid adapters removing the Redis/Sidekiq dependency for smaller apps.
dalemhurley 8 hours ago||
Ruby on Rails and Laravel all the way. Solid, proven, stable and scalable.
dzonga 5 hours ago||
Rails for straight up CRUD is top, autogenerated things etc

however if your app doesn't fit the standard crud pattern you end just fiddling with a lot of things that you shouldn't and in that case I recommend Django which provides enough flexibility while providing a good base. There's less magic in Django

peepee1982 4 hours ago||
Serious question, as someone who started his professional developer career as a RoR developer in 2012: Isn't vibe-coding top for straight up CRUD?

I'm not trying to be glib. The thing that seemed magic to me at that time was all the scaffolding that Rails provided with a few simple commands, making it possible to quickly build something that let the user authenticate and enter and display data. Sure, Ruby itself and the culture around it back then was also great and will always have a place in my heart. But the whole convention-over-configuration and scaffolding thing, that was what I liked so much about it, and I never found that in any other language/framework combo in a way that felt as smooth.

But now, I use AI for scaffolding, and for my side-projects often never have to touch code.

So why would I choose something for a CRUD application that might give me headaches down the road, when there's a possibility that the app might morph into something less conventional, when I could use *any* language/framework that's not as rigid and have the scaffold be built by AI?

I get it if you enjoy actually writing code. But I don't quite get the benefits if the goal is to have something working quickly and be able to potentially build it out to something that is not served that well by RoR.

dmix 4 hours ago|||
If you're building a pure SaaS app then Rails is perfect. If you need SaaS + more complex backend services like coordinating tons of webhooks I'd choose Elixir. Documentation sites and light server apps I'd use Node.

Go and Rust fill in lots of gaps for more serious performance stuff.

rco8786 4 hours ago||
FWIW modern Rails is fairly magic-free also. They learned. With ActiveJob now part of the framework you get event queues/async processing and whatnot as part of the batteries.

I'm a fanboi, so I am biased, but Rails is still pretty great in 2026 for general business purposes.

leke 1 hour ago||
Ruby and RoR is cool and all, but as these web apps got more and more complex, the need for static types became too important. What gave PHP it's edge was types and is the reason I'm still using it after nearly 20 years. PHP seems to implement those important things just in time. OOP, better OOP, types, speed boost, and next probably concurrency.
ssaunier_ 8 hours ago||
Article nicely written, great overview of Rails current state. Kudos to the author.
fnoef 2 hours ago||
I’m honestly baffled by the praises of Rails in the comments.

I started my dev career with php and then nodejs, but recently got a job with rails, and honestly, it’s the worst among the 3.

There is no static typing whatsoever, it’s littered with magically generated methods, on a moderate size project the controllers or models directories grow to dozen of files. In general it feels like you need a lot of mental context in order to work with Rails, and I believe this is the reason people who run it for 10+ years in production love it. They simply carry all the magic in their heads, rather than let the framework guide you.

I, however, get much more DX and production stability by building with a boring (router + server side rendering) NodeJS stack with typescript and schema validation. My services are more stable and do not crash on “undefined method foo for nil”.

I guess people will defend whatever they know best, even if it has quirks.

On a positive note, I like ruby as a language. It has cool features like pattern matching, named arguments, or dropping verbose statements like “return” at the end of the function.

bovermyer 1 hour ago|
If you like Ruby but don't like Rails, take a look at Crystal, possibly with the Amber framework.
neya 9 hours ago||
One thing that is not stressed enough, is Rails enforces good code patterns early on. If you follow the docs, you will know where model code should be, helpers should be, controllers should be. After all, it is an MVC framework.

However, modern day JS frameworks don't care about this at all. Most of them love flaunting about their raw performance numbers. Security? Fuck that. Not even basic form CSRF protection. A lot of times, there is not even SQL injection prevention in them.

Compound this with someone who just vibe codes their app on top of these frameworks - that's how you end up getting hacked. Every week there is an incident. That's why good frameworks like Rails are very important. People who actually care about writing secure, good quality software are on the decline, but thank God rails still exists as an option in 2026 despite the fact.

dalemhurley 8 hours ago||
The difference between JS frameworks and RoR/Laravel is the ecosystem cohesion. RoR and Laravel ecosystems employ the RoR or Laravel way of doing things and everything works together very smoothly.

JS solutions are loosely coupled, lots of good reasons to do so, but comes at a major complexity cost.

neya 4 hours ago||
I agree. Opinionated frameworks are better in this regard.
jeppester 5 hours ago|||
Give AdonisJS a try, it's pretty much the JS sibling of Laravel and RoR.
e12e 3 hours ago|||
Adonis is nice, but still young and lacking features. And in my experience very verbose compared to rails.

That said, absolutely worth a look.

neya 4 hours ago|||
Thanks! Never heard of it, definitely will check it out.
BoorishBears 8 hours ago|||
Eh, there's NestJs and AdonisJs if you want opinionated MVC with lots of built-ins like CSRF and ORMs.

But you can also pick tight packages that do one thing well. Something like oRPC + Drizzle that lets you pipe data from your database to frontend with full typing and cross-boundary go-to-definition while covering most of what Nest and Adonis do with better focused APIs.

And in terms of security, I'll take Typescript with a strong compiler config anyday. For example, I disable: `any`, non-null asserts (no `!`), floating promises without `void` for explicitness, no unnecessary conditions, and a bunch of other strict rules. I also use Branded Types liberally. All of that makes logical errors that can become app-specific security issues (and are thus less readily detected) much less likely to happen. And as a bonus you get really reliable code too.

slopinthebag 8 hours ago||
Javascript frameworks just do SSR + Express-style api routes. They don't handle SQL injection prevention because they don't deal with databases at all. CSRF prevention is less important in todays world tho.
apsurd 8 hours ago||
it's like you're saying SQL injection happens if you're running sql on the client so if it's on the server you're fine.

that's not how it works. and i'm fairly sure most all apps deal with databases, unless they're explicitly static pages.

edit: sql injection is about hacking the parameters used in a query. they almost always in some way come from external sources, user input. so they have to be sanitized. it sounds straightforward but bounties are paid all the time on hackerone with documented cases of injection. people are very clever.

i've had to patch some verified cases where the hacker used the name field to pass code in and alter links in emails to make it look like they came from our (household name) company.

dewey 8 hours ago||
Great post, this has also been my experience in the past 2 years. Rails is just a lot of fun, and that’s especially important for side projects.

I’m usually a Go person and love it, but building simple crud routes is not the fun part of it.

pjmlp 8 hours ago|
Going off topic, but the article made me look into "2025 Stack Overflow Developer Survey" and as usual there is the big difference between what the "Professional Developers" with and without AI claim to be using, and the usual HN discussions "X is taking over the world, no one uses Y anymore".

As for Rails, I guess now that Ruby is serious about having a JIT in the box, a few actually, it is kind of atractive.

Due to my experience with Tcl, and continuous rewriting into C modules, if a JTI isn't in the box, I kind of don't bother unless it is due to external factors.

wiseowise 7 hours ago|
> As for Rails, I guess now that Ruby is serious about having a JIT in the box, a few actually, it is kind of atractive.

Not until they get their gradual typing story straight.

pjmlp 7 hours ago||
Depends on how much one likes the Smalltalk, SELF or Lisp development experience, regarding types.
More comments...