Padrino (web framework)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Original author(s) Nathan Esquenazi, Davide D'Agostino, Arthur Chiu, Joshua Hull
Developer(s) Nathan Esquenazi, Davide D'Agostino, Arthur Chiu, Joshua Hull, Uchio Kondo, Darío Javier Cravero, Florian Gilcher
Stable release 0.12.2 / 12 May 2014; 9 months ago (2014-05-12)
Written in Ruby
Operating system Cross-platform
Type Web application framework
License MIT License

Padrino is an open source web application framework, written in Ruby and based on Sinatra.[1][2] It is an alternative to other Ruby web application 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 originally 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. Padrino, as of March 2013, has 7 developers that comprise the core development team.[3]


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

  • 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 altogether for a comprehensive upgrade to Sinatra (a full-stack Padrino application).

See also[edit]

External links[edit]