Awesome Series @ Planet Ruby
Rubies (Virtual Machines, Compilers, ...) • ActiveRecord • Webframeworks (Micro, Macro, APIs, ...) • Webservers (Single-Threaded, Multi-Threaded, Multi-Plexed, ...) • Static Generators (Sites, Books, Presentations, ...) • Events (Conferences, Camps, Meetups, ...) • Blogs (News, Opinions, Podcasts, ...)
A collection of awesome Ruby web frameworks, libraries, tools, etc.
[ANNOUNCEMENT] Looking for awesome Ruby Gems? See the Ruby Gems of the Week Series @ Planet Ruby.
Rack 'n' Alternatives • Ruby on Rails • Sinatra • Volt • Async Web (Socket) Frameworks • Web Service Frameworks • Micro Framework Alternatives • "Full Stack" Macro Framework Alternatives • More / Misc Frameworks • Meta
A Ruby webserver interface - lets you mix-n-match web servers and web frameworks; stack web apps inside web apps inside web apps
See the Awesome Rack List ».
Batteries Included "Full Stack" Macro Framework
- Ruby on Rails (web: rubyonrails.org, github: rails/rails, gem: rails)
Extensions
- Hobo (web: hobocentral.net, github: Hobo/hobo, gem: hobo)
Future
- Trailblazer (web: trailblazerb.org, github: apotonick/trailblazer, gem: trailblazer) - a thin layer on top of rails - (gently) enforces encapsulation, a "more" intuitive code structure and giving you a "better" object-oriented architecture by Nick Sutterer et al
Micro Framework - Less than two thousand lines of code (<2000 LOC)
- Sinatra (web: sinatrarb.com, github: sinatra/sinatra, gem: sinatra)
Extensions
- Padrino (web: padrinorb.com, github: padrino/padrino, gem: padriono)
Fun / Hack
- Almost Sinatra (github: rkh/almost-sinatra) - Sinatra refactored, only six lines of code by Konstantin Haase
Future
- Mustermann (web: rkh.github.io/mustermann, github: rkh/mustermann, gem: mustermann) - your personal string matching expert; can be used as a plugin for Sinatra 1.x and will power Sinatra 2.0; by Konstantin Haase et al
Client/Server Isomorphic Framework
- Volt (web: voltframework.com, github: voltrb/volt, gem: volt)
-
Cramp (github: lifo/cramp, gem: cramp) - a fully asynchronous realtime web application framework built on top of event machine; providing full-duplex bi-directional communication by Pratik Naik
-
Lattice (github: celluloid/lattice, gem: lattice) - an actor-based web framework built on top of celluloid, reel, and webmachine; designed for realtime apps, end-to-end streaming, and websockets by Tony Arcieri et al
-
Angelo (github: kenichi/angelo, gem: angelo) - sinatra-like mini-language for reel (built upon Celluloid::IO, no rack); supports web sockets and server sent events (SSE) by Kenichi Nakamura
JSON HTTP API Builder
- Grape (web: intridea.github.io/grape, github: intridea/grape, gem: grape) - a micro-framework for creating REST-like APIs
- Crêpe (github: crepe/crepe, gem: crepe) - a thin API stack
- Yaks (github: plexus/yaks, gem: yaks) - serialize to hypermedia. HAL, JSON API, HALO, collection+JSON etc. by Arne Brasseur et al
- Praxis (web: praxis-framework.io, github: rightscale/praxis, gem: praxis) - a micro framework focusing on the design and coding aspects of creating good APIs quick by Josep M. Blanquer et al
- Rum (github: chneukirchen/rum) - gRand Unified Mapper for rack apps by Christian Neukirchen
- Cuba (web: cuba.is, github: soveran/cuba, gem: cuba) - tiny but powerful mapper for rack apps by Michel Martens
- New York, New York (NYNY) (web: alisnic.github.io/nyny, github: alisnic/nyny, gem: nyny) - a tiny (~300 lines of code) web framework on top of rack by Andrei Lisnic
- Roda (web: roda.jeremyevans.net, github: jeremyevans/roda, gem: roda) - a routing tree web framework toolkit by Jeremy Evans
- Hobbit (github: patriciomacadden/hobbit, gem: hobbit) - a minimalistic microframework built on top of rack by Patricio Mac Adden
- Brooklyn (github: luislavena/brooklyn) - a small web tool on top of rack by Luis Lavena
- Nancy (web: guilleiguaran.github.io/nancy, github: guilleiguaran/nancy, gem: nancy) - Sinatra's little daughter by Guillermo Iguaran
- Camping (web: camping.io, github: camping/camping, gem: camping) - minature rails for stay-at-home moms; the 4k pocket full-of-gags web microframework
- Scorched (web: scorchedrb.com, github: Wardrop/Scorched, gem: scorched) - light-weight, DRY as a desert, web framework by Tom Wardrop et al
- Lotus (web: lotusrb.org, github: lotus/lotus, gem: lotusrb) - a complete web framework; bringing back object-oriented programming to web development, leveraging a stable API, minimal DSL and plain objects by Luca Guidi et al
- Pakyow (web: pakyow.org, github: pakyow/pakyow, gem: pakyow) - an open-source framework for the modern web with a view-first development process that's friendly to everyone whether you're a designer or a developer
- Ramaze (web: ramaze.net, github: Ramaze/ramaze, gem: ramaze) - a simple, light and modular open-source web application framework by Michael Fellinger et al
- Webmachine (github: Webmachine/webmachine-ruby, gem: webmachine) - an HTTP toolkit - a port of the Webmachine in Erlang - for building apps in a declarative way e.g. less concerned with the procedures involved in handling requests directly and more with describing facts about the resources that make up your app; by Sean Cribbs et al
Tony Arcieri • Josep M. Blanquer
License
The awesome list is dedicated to the public domain. Use it as you please with no restrictions whatsoever.
Questions? Comments?
Send them along to the ruby-talk mailing list. Thanks!