Padrino (web framework)
# Padrino (web framework)

Padrino is a free and open-source web framework, written in Ruby and based on Sinatra. It is an alternative to other Ruby web frameworks such as Ruby on Rails, Merb, Nitro and Camping. It is dependent on the Rack web server interface.

Padrino was created and open-sourced in 2010. The framework was created by Nathan Esquenazi, Davide D'Agostino and Arthur Chiu based on the prior sinatra_more gem. The framework was created in order to extend Sinatra to more easily support rich web applications.

## Features

This is a list of major functionality Padrino provides on top of Sinatra:

* Agnostic: Full support for many popular testing, templating, mocking, and database libraries.
* Generators: Create Padrino applications, models, controllers i.e.: padrino g project.
* Mountable: Unlike other Ruby frameworks, principally designed for mounting multiple apps.
* Routing: Full url named routes, named params, respond_to support, before/after filter support.
* Tag Helpers: View helpers such as: tag, content_tag, input_tag.
* Asset Helpers: View helpers such as: link_to, image_tag, javascript_include_tag.
* Form Helpers: Builder support such as: form_tag, form_for, field_set_tag, text_field.
* Text Helpers: Useful formatting like: relative_time_ago, js_escape_html, sanitize_html.
* Mailer: Fast and simple delivery support for sending emails (akin to ActionMailer).
* Admin: Built-in Admin interface (like Django).
* Logging: Provide a unified logger that can interact with your ORM or any library.
* Reloading: Automatically reloads server code during development.
* Localization: Full support of I18n

Note that as a user of Padrino, each of the major components can be pulled in separately to an existing Sinatra application or they can be used together for a comprehensive upgrade to Sinatra (a full-stack Padrino application).

