Ruby is a dynamic, object-oriented programming language developed in the mid 1990s by Yukihiro Matsumoto. It is designed for programmer productivity and fun. The language supports multiple programming paradigms, automatic memory management, large standard library and more.
Ruby frameworks are super useful tools when it comes to web app development, they can help you develop effective web application faster and work better.
If you are looking for framework to make your task easier, you’ve landed on the correct destination. I hope you find this collection useful.
Table of Contents
Scorched is generic, lightweight framework for Ruby. It provides powerful constructs for processing HTTP requests, with which you can build applications of almost any scale. It has relatively simple design philosophy. The aim is to provide a quick and simple tool for developing any size app while being raw and transparent. Overall, it’s an enhancement of Sinatra with more focus, power and less cluster.
Cramp is a lightweight framework for creating asynchronous web applications. It is designed for providing full-duplex bi-directional communication and working with large number of open connections. The framework is built on top of EventMachine and supports WebSockets and Server-Sent Events.
An open source framework for modern web applications. Pakyow allows you to start with a view & create the app on top. First, you need to generate your app using HTML (or any other template language), start the app without adding back-end code and then integrate back-end code (written in Ruby) without altering any previously created views.
Nancy is a minimal Ruby framework for web development based in Cuba and Sinatra. It supports caching and template rendering through ERB or Tilt. You can set basic callbacks/filters with the before/after methods, mount rack apps with the map method, include middlewares with the use method and halt execution at any point using Ruby’s throw/catch process.
Ramaze is straight-forward web framework that aims to make things simple and complex thing possible and fun. The other objective is to make all parties modular and reusable as possible. It uses Model View Controller architecture to organize application programming. However, you are not forced to use this pattern. Furthermore, it works with any ORM and database toolkit.
Grape is an opinionated microframework for building REST-like APIs in Ruby. It is designed to run on Rack or similar web app framework (like Sinatra and Rails) by providing a simple DSL. Moreover, it comes with inbuilt support for common conventions such as subdomain or prefix restriction, multiple format and versioning.
This is a complete web framework for Ruby. It is lightweight, fast and testable. Lotus uses the concept of object oriented programming, minimal DSL, leveraging a stable API and plain objects. It is made of standalone elements (controller, views, etc.) and leaves all the freedom to you – build your own architecture with your own objects.
NYNY is small (~300 LOC) and powerful web framework. Every NYNY app is Rack middleware, which means it can be used inside of Rails, Sinatra, or any other Rack based application. It uses Journey for routing, which makes its routing logic powerful as well as reliable.
Cuba is a Rum based microframework for web applications. It integrates many templates via Tilt and testing via Capybara. The philosophy is to build web apps with small amount of files as possible while keeping everything global.
You can use it to build real-time applications, landing pages and eCommerce apps.
Celluloid is a concurrent object oriented programming framework that allows you to build multithreaded programs without putting much effort. It combines different components into a single structure, called “actor” or “cell”, an active object running within a thread. Celluloid provides many features including automatic deadlock-free synchronization and fault tolerance.
Camping is a small web application framework (under 4KB). It stores a complete fledgling web application and organizes it as MVC (Model View Controller) application as Ruby on Rails does.
Apps build on Camping can stand alone, meet niche requirements that serve larger setups, and easily ported to Rails.
Padrino is full stack, open source framework built upon the Sinatra web library. It is based on the Rack web server interface. As a user of Padrino, you can pull in each major component to an existing Sinatra application or use them all together for comprehensive upgrade to a full-stack Padrino app.
Sinatra is a DSL (Domain-specific language) for building web application in Ruby with minimal effort. It is small, flexible and dependent on the Rack web server interface. Instead of following model-view-controller pattern, it focuses on quick development of small but unique web applications.
Large companies, including Apple, LinkedIn, BBC, GitHub use Sinatra.
Rack powers web applications (written in Ruby) by providing a modular and adaptable interface. It unifies the API for web frameworks, web servers and software into a single method call by wrapping HTTP requests and responses.
1. Ruby on Rails
We all know about this open source, full stack web framework. It lets you write beautiful code by favoring connection over configuration, don’t repeat yourself (DRY), model view controller and the active record pattern.
In a default configuration, a model in this framework maps to a table in a database, and to a Ruby file.
Other Not So Popular Frameworks
Kenji: is a lightweight back-end framework. It believes that the application should be usable as a library from scripts or from the command line. The app should be automatable and testable.
Web server, ORM, deployment process, front-end, message queue etc. are left up to the user.
Hobbit: A minimalist framework built on top of Rack, claims to require zero configuration. It is intrinsically compatible with standard Ruby classes and modules, with no extra logic.
Brooklyn: small but effectual web tool on top of Rack, aiding programmers with compact organization and placement of their ideas on application development.
Crepe: is a thin API framework designed to help you develop fast web services in Ruby. It is perfect for amateur programmers. Crepe is packed with intuitive DSL inspired by RSpec and with a nod to Grape, which together makes API design simple.
Other Useful Frameworks