Padrino: A Webapp Framework Wrapped Around Sinatra
Hot on the heels of Sinatra 1.0 comes the official release of Padrino (or GitHub repo), a webapp framework that provides an extra layer of functionality on top of Sinatra (like helpers, generators, admin interface, and internationalization). Padrino is Sinatra 1.0 compatible.
Developers Davide D'Agostino, Nathan Esquenazi and Arthur Chiu love Sinatra and its development philosophy, but want to provide a deeper, standardized layer of functionality on top of the typical Sinatra stack. True to form, Padrino extends Sinatra with a wealth of extra features:
- Namespaced route aliases
- Nested routes
- i18n / Internationalization
- Mailer system
- Django-esque admin interface
- Unified logging
- Tag, asset, for, and tag helpers for use in views
- App, model and controller generators
Most of these features can be added to Sinatra already, either manually or by selecting from a wide assortment of independent plugins. Padrino, on the other hand, provides a standard suite of functionality that, hopefully, will continue to be improved as a whole over time. It feels a lot like Ramaze but with the similar functionality wrapped around Sinatra instead.
The Padrino team have done a great job putting together its official Web site and there's a lot of documentation to peruse. They've also put together a guide to contributing to the project if you want to get your hands dirty. There's also a 12 minute screencast: