Padrino (web framework)

{{Short description|Ruby web framework}}

{{Infobox software

| name = Padrino

| logo = Padrinologo.jpg

| logo size = frameless

| logo alt = Padrino logo

| screenshot =

| caption =

| author = Nathan Esquenazi, Davide D'Agostino, Arthur Chiu, Joshua Hull

| developer = Nathan Esquenazi, Davide D'Agostino, Arthur Chiu, Joshua Hull, Uchio Kondo, Darío Javier Cravero, Florian Gilcher

| released =

| latest release version = {{wikidata|property|edit|reference|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}

| operating system = Cross-platform

| platform =

| language =

| repo = {{URL|https://github.com/padrino/padrino-framework|Padrino Repository}}

| programming language = Ruby

| genre = Web framework

| license = MIT License

| website = {{Official URL}}

}}

Padrino is a free and open-source web framework, written in Ruby and based on Sinatra.{{Cite web|url=http://www.rubyinside.com/padrino-sinatra-webapp-framework-3198.html|title = Padrino: A Webapp Framework Wrapped Around Sinatra}}{{cite web |url=https://changelog.com/27/ |title=#27: Padrino Ruby Web Framework - Changelog |website=changelog.com |url-status=dead |archive-url=https://web.archive.org/web/20161004152030/https://changelog.com/27/ |archive-date=2016-10-04}} 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 [https://github.com/nesquena/sinatra_more 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:{{Cite web|url=https://stackoverflow.com/tags/padrino/info|title = 'padrino' tag wiki}}

  • 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).

See also

References

{{Reflist}}