Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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
Upcoming SlideShare
Loading in …5
×

Introduction to padrino

2,580 views

Published on

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

Published in: Technology

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

×