Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Introduction to Padrino   Toronto Ruby Brigade    http://www.padrinorb.com/
What is Padrino?        A Framework built on top of Sinatra              ...a micro-framework          ● good for small we...
What is Padrino?● A quote from the Padrino mailing list:   ○ The Padrino framework appreciates and believes in the     phi...
How is it different than Sinatra?Adds generators for building projects: ● Can be tiny    ○ padrino g project my_project --...
padrino g project my_project --tiny
padrino g project my_big_project -d activerecord -s prototype -e erb -a sqlite -t rspec -m mocha
How is it different than Sinatra?Helpers and functionality familiar to Rails developers: ● Tag helpers (tag, content_tag, ...
How is it different than Rails?Has a flexible project generator: ● padrino g project test_app -d datamapper -b ● padrino g...
How is it different than Rails?Mounting sub-applications: ● Extend application functionality by building apps    ○ Build a...
padrino g app my_sub_app
How is it different than Rails?Has automatic administration interface generator --inspired by Django:  ● padrino g admin  ...
padrino g admin
1) Run padrino rake ar:migrate2) Run padrino rake seed3) Visit the admin panel in the browser at /admin
Administration login page
User editing form
Why would someone choose todevelop with Padrino VS Rails?From beginner... ● Sinatra is much easier to learn conceptually a...
Why would someone choose todevelop with Padrino VS Rails?... to advanced.   ● Once applications reach a certain size [...]...
Why would someone choose todevelop with Padrino VS Rails?Other reasons why you might want to take a look atPadrino: ● Benc...
Why would someone choose todevelop with Padrino VS Rails?Selling Padrino: ● My motivation? I like to touch all pieces of m...
@victorbstan  With help from the Padrino community                     &Special thanks to the Toronto Ruby Brigade
Próxima SlideShare
Cargando en…5
×

Introduction to padrino

2.582 visualizaciones

Publicado el

An introduction to the Padrino, a Ruby web development framework, built for performance, on top of Sinatra.

Publicado en: Tecnología

Introduction to padrino

  1. 1. Introduction to Padrino Toronto Ruby Brigade http://www.padrinorb.com/
  2. 2. What is Padrino? A Framework built on top of Sinatra ...a micro-framework ● good for small web application ● small footprint ● easy to learn and use
  3. 3. What is Padrino?● A quote from the Padrino mailing list: ○ The Padrino framework appreciates and believes in the philosophy of Sinatra [in] keeping things simple, elegant, and closer to the metal while still allowing you to express yourself in a ruby-esque manner. However at times its nice to have some more additional functionalit [y] (like helpers, mailers, even caching) that Rails does [have]; and its nice to have those features without leveraging their full opinionated stack. ■ Arthur Chiu
  4. 4. How is it different than Sinatra?Adds generators for building projects: ● Can be tiny ○ padrino g project my_project --tiny ● Can be Rails like ○ padrino g project my_big_project -d activerecord -s prototype -e erb -a sqlite -t rspec -m mocha
  5. 5. padrino g project my_project --tiny
  6. 6. padrino g project my_big_project -d activerecord -s prototype -e erb -a sqlite -t rspec -m mocha
  7. 7. How is it different than Sinatra?Helpers and functionality familiar to Rails developers: ● Tag helpers (tag, content_tag, input_tag, form_tag, link_to, image_tag) ● Mailer functionality (similar to ActiveMailer) ● Admin Interface (inspired by Django) ● Reloading (automatically reloads server, previously you had to use something like shotgun to have this behaviour with Sinatra -- never a problem with Rails) ● Localization support ● [complete list: http://www.padrinorb.com/]
  8. 8. How is it different than Rails?Has a flexible project generator: ● padrino g project test_app -d datamapper -b ● padrino g project test_app -d mongoid -t rspec -e haml -m rr -s jquery -b ● padrino g project test_app --test none --renderer none ● Plugin Generator ○ ... ● [more details: http://www.padrinorb.com/guides/generators]
  9. 9. How is it different than Rails?Mounting sub-applications: ● Extend application functionality by building apps ○ Build apps within an app ■ Padrino.mount("blog").to("/blog") ■ Padrino.mount("website").to("/website") ■ Padrino.mount("app").to("/")Advanced mounting: ● Padrino.mount("Blog").to("/").host("blog.example.org") ● Padrino.mount("Admin").host("admin.example.org") ● Padrino.mount("WebSite").host(/.*.?example.org/) ● Padrino.mount("Foo").to("/foo").host("bar.example.org"[more details: http://www.padrinorb.com/guides/mounting-applications]
  10. 10. padrino g app my_sub_app
  11. 11. How is it different than Rails?Has automatic administration interface generator --inspired by Django: ● padrino g admin ○ generate admin application to be mounted inside main application ● padrino rake ar:migrate ○ for admin tables ● padrino rake seed ○ create first admin account wizard ● padrino generate admin_page model_name ○ adding a page to manage a new model ● [more details: http://www.padrinorb.com/guides/basic-projects#generating-the-admin-section]
  12. 12. padrino g admin
  13. 13. 1) Run padrino rake ar:migrate2) Run padrino rake seed3) Visit the admin panel in the browser at /admin
  14. 14. Administration login page
  15. 15. User editing form
  16. 16. Why would someone choose todevelop with Padrino VS Rails?From beginner... ● Sinatra is much easier to learn conceptually and in practice.
  17. 17. Why would someone choose todevelop with Padrino VS Rails?... to advanced. ● Once applications reach a certain size [...], Sinatra begins to break down without some imposed structure, feature extensions and a framework to bring things together. ○ Nathan Esquenazi
  18. 18. Why would someone choose todevelop with Padrino VS Rails?Other reasons why you might want to take a look atPadrino: ● Benchmarks performance of Padrino vs Rails (memory footprint, speed) ● The ability to easily scale up a Sinatra based app with more features and functionalities with Padrino modules & embedded apps (app within an app) ● In Rails, Sinatra is already used sometimes as a platform for building plugins and extending Rails functionality ● Agnostic generators that generate a variety of components for your project (orms, js, renderers, tests, etc...) ● Admin interface application that can be generated into your existing padrino application ("... not just the scaffold, but the whole house" -- to paraphrase Django)
  19. 19. Why would someone choose todevelop with Padrino VS Rails?Selling Padrino: ● My motivation? I like to touch all pieces of my stack on my own, so I use a framework where I can easily look under the hood. ○ Florian Gilcher
  20. 20. @victorbstan With help from the Padrino community &Special thanks to the Toronto Ruby Brigade

×