Padrino (web framework)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Padrino
Padrinologo
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
Website www.padrinorb.com

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]

Features[edit]

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]

References[edit]