Why Ruby on Rails still matters
Rails, CRUD, and Application Shape
- Many describe Rails as naturally favoring “1 model = 1 concept = 1 REST resource” and CRUD-style flows (list → form → updated list), which match a huge share of real-world back-office and line-of-business apps.
- Others note real UIs almost always mix multiple models per screen, which strains strict REST and pushes complexity to the frontend.
- Rails’ responders: you’re not forced into 1:1; you can build composite controllers, multi-model forms, dashboards, and partial updates, especially with Turbo/Hotwire and nested forms.
API Design and GraphQL Debates
- Pain points with REST in rich UIs: overfetching, many small requests, ad‑hoc query parameters, or view-specific RPC endpoints. No approach feels clearly “right” at scale.
- Some see GraphQL as a clean view–model boundary; others argue it’s complex to harden, easy to abuse (expensive queries, broad data access), and ends up devolving into whitelisted, REST-like calls anyway.
- Several argue it’s fine for the UI to make many REST calls, especially with HTTP/2 and caching, and that APIs should be designed around use cases, not tables.
Rails vs Next.js and the JS Ecosystem
- Next.js is praised as React’s “Rails-like”: conventions, routing, SSR/CSR, good for highly interactive products.
- Critics counter that it’s not “batteries included”: no built-in ORM, jobs, mailers, attachments, or auth/authorization; those must be assembled from many libraries.
- In contrast, Rails is viewed as a full-stack, opinionated monolith that remains extremely productive for 0→1 apps and complex CRUD-heavy systems, with Hotwire covering a large slice of SPA-style interactivity.
Other Frameworks: Django, Phoenix, Elixir, Rust, Go
- Many say everything argued for Rails applies similarly to Django; some Rubyists find Django “behind” Rails; others prefer Python’s broader ecosystem and typing.
- Phoenix LiveView is repeatedly praised as a stateful, reactive alternative that inspired Hotwire/Turbo; Elixir is seen as attractive for concurrency and scaling but has a smaller ecosystem and a bigger conceptual jump.
- There’s curiosity about Rails‑like frameworks in Rust/Go; current options feel more like low-level libraries or microservice tools than integrated “Rails for X”.
Typing, AI Tools, and Rails’ “Age”
- The article’s claim that Rails struggles with LLM streaming and parallelism is disputed; several report streaming LLM chat UIs and concurrent IO working fine with Rails + Hotwire.
- Lack of strong typing is seen by some as a drawback for AI-assisted coding and refactoring; others report LLMs perform very well in Rails codebases because conventions and structure compensate for missing types.
- Broader thread: static types help with refactoring and correctness, but LLMs are reducing the autocomplete advantage of typed languages.
Why Rails Still Matters (and Critiques)
- Pro-Rails comments emphasize: convention over configuration, batteries-included stack, mature ecosystem, and the fact that most business software is “just” CRUD plus a few special features (“spreadsheets on the internet”).
- Critics cite dynamic typing, metaprogramming, and large monoliths as long-term maintenance risks, and argue many successful companies eventually outgrow Rails—though others point out major firms still run large Rails codebases.
- There’s meta-discussion about Rails’ image: some quietly ship with it; others feel compelled to periodically assert it’s “not dead” amid hype around Next.js and AI.