If you're building a web app in Ruby and Rails feels like more than you need, there are other frameworks to choose from, but several on older lists haven't been touched in a decade. This guide sorts the Rails alternatives into those still maintained and those you should avoid, then helps you pick one. Release dates were checked on RubyGems in October 2026.
Why Ruby for web development

- Expressive syntax. Ruby reads close to plain English, so web code tends to be short and easy to follow.
- Everything is an object. Ruby is fully object-oriented, which keeps code consistent across a project.
- Rack. Almost every Ruby web framework sits on Rack, a common interface between web servers and Ruby apps. You can mount a Sinatra or Grape app inside Rails, or share middleware between frameworks.
- A mature community and gem ecosystem, with libraries for most jobs and plenty of help for newcomers.
"Convention over configuration" is often listed here, but it's a Rails principle rather than a feature of Ruby itself. The smaller frameworks below mostly leave those decisions to you.
Actively maintained alternatives to Rails
| Framework | Latest release (as checked) | Type | Best for |
|---|---|---|---|
| Sinatra | 4.2.1, October 2025 | Microframework | Small apps, prototypes, webhooks |
| Roda | 3.109.0, October 2026 | Routing-tree toolkit | Fast apps where you want to add only what you need |
| Hanami | 3.0.2, August 2026 | Full-stack framework | Larger apps with clear boundaries between parts |
| Grape | 4.0.1, September 2026 | API framework | REST-style JSON APIs, alone or inside Rails |
| Padrino | 0.17.0, October 2026 | Full-stack, built on Sinatra | Sinatra apps that have outgrown a single file |
| Scorched | 1.1.1, July 2026 | Lightweight framework | Small to medium apps that need a little more structure than Sinatra |
Sinatra
Sinatra is the best-known Ruby microframework. A route is a few lines:
require "sinatra"
get "/" do
"Hello from Sinatra"
end
Use it when you need a handful of endpoints and don't want Rails' structure.
Roda
Roda, a "routing tree web toolkit", wasn't on the 2019 version of this list, but it's one of the most actively developed Ruby frameworks today. Routes are nested blocks, so shared setup for a section of the site happens once, and features come as plugins you opt into:
# config.ru
require "roda"
class App < Roda
route do |r|
r.root { "Home" }
r.on "posts" do
r.get Integer do |id|
"Post #{id}"
end
end
end
end
run App.freeze.app
Start it with rackup.
Hanami
Hanami is a full-stack framework and the main alternative to Rails for large applications. It's built from smaller single-purpose libraries for routing, actions, views, database access and assets, and it pushes you towards separating your app into clear parts. Version 3.0 was released in July 2026.
Grape
Grape is an opinionated framework for REST-like APIs. It handles parameter validation, versioning and formats for you, and a Grape API can run alone or be mounted inside a Rails or Sinatra app:
class API < Grape::API
format :json
get :status do
{ status: "ok" }
end
end
Padrino
Padrino adds generators, helpers, an admin interface and mountable sub-apps on top of Sinatra. It suits a Sinatra project that has grown and needs more structure without switching frameworks.
Scorched
Scorched is a lightweight framework that describes itself as simple yet suitable for projects of any scale. It sits between Sinatra and the full-stack options and still receives releases.
Frameworks from older lists to avoid
| Framework | Last release | Status |
|---|---|---|
| Cuba | 4.0.3, January 2024 | A tiny microframework inspired by Rum. Little recent activity; fine for small experiments, but check before relying on it. |
| Hobbit | 0.6.1, February 2016 | Rack-based minimalist framework. No releases in ten years. |
| NYNY | 3.4.3, October 2014 | About 300 lines of code, Rack-compatible. Abandoned. |
| Crêpe | 0.0.1.pre, March 2013 | A Rack-based API framework that never got past a pre-release. |
| Nancy | 0.3.0, October 2012 | A microframework named after Frank Sinatra's daughter. Abandoned. |
An unmaintained framework won't get security fixes or updates for new Ruby versions, so don't start a new project on any of these.
Celluloid also appeared on the original list, but it isn't a web framework. It's an actor-based concurrency library for multithreaded Ruby programs, and its own repository marks it as unmaintained. For concurrency in a modern Ruby app, look at the async gem or Ruby's built-in Ractors instead.
Which one should you choose?
- A full web application with a team behind it: Rails, or Hanami if you want stricter structure.
- A small app, prototype or webhook receiver: Sinatra.
- A small or medium app where speed and control matter: Roda.
- A JSON API: Grape, especially if it needs to live inside an existing Rails app.
- A Sinatra app that keeps growing: Padrino.
Whichever you pick, check the gem's latest release and open issues on RubyGems and GitHub before committing. A framework that hasn't shipped a release in two years is a warning sign. Comparing Ruby with other stacks? Our overview of WordPress, Laravel, JavaScript, React and Vue covers the PHP and JavaScript side, and connecting a React frontend to a Python backend shows the same API-plus-frontend pattern in another language.
Written by
Dan Goldman wrote about Ruby web frameworks for the Wow Themes blog.




Comments
No comments yet.
Comments are closed on this post.