SlideShare a Scribd company logo
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 web application
          ● small footprint
          ● easy to learn and use
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 it's nice to have some more additional functionalit
     [y] (like helpers, mailers, even caching) that Rails
     does [have]; and it's nice to have those features without
     leveraging their full opinionated stack.
       ■ Arthur Chiu
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
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, 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/]
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]
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]
padrino g app my_sub_app
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]
padrino g admin
1) Run 'padrino rake ar:migrate'
2) Run 'padrino rake seed'
3) Visit the admin panel in the browser at '/admin'
Administration login page
User editing form
Why would someone choose to
develop with Padrino VS Rails?
From beginner...
 ● Sinatra is much easier to learn conceptually and in practice.
Why would someone choose to
develop 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
Why would someone choose to
develop with Padrino VS Rails?
Other reasons why you might want to take a look at
Padrino:
 ● 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 (orm's, 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)
Why would someone choose to
develop 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
@victorbstan


  With help from the Padrino community
                     &
Special thanks to the Toronto Ruby Brigade

More Related Content

Similar to Introduction to padrino

Radiant CMS - smart simplicity
Radiant CMS - smart simplicityRadiant CMS - smart simplicity
Radiant CMS - smart simplicity
Krzysztof Szafranek
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
Lakshman Prasad
 
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon LondonForensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
Emma Jane Hogbin Westby
 
Free django
Free djangoFree django
Free django
Eugen Oskin
 
Dust.js
Dust.jsDust.js
The Kitchen Cloud How To: Automating Joyent SmartMachines with Chef
The Kitchen Cloud How To: Automating Joyent SmartMachines with ChefThe Kitchen Cloud How To: Automating Joyent SmartMachines with Chef
The Kitchen Cloud How To: Automating Joyent SmartMachines with Chef
Chef Software, Inc.
 
Padrino is agnostic
Padrino is agnosticPadrino is agnostic
Padrino is agnostic
Takeshi Yabe
 
Move out from AppEngine, and Python PaaS alternatives
Move out from AppEngine, and Python PaaS alternativesMove out from AppEngine, and Python PaaS alternatives
Move out from AppEngine, and Python PaaS alternativestzang ms
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
Rami Sayar
 
You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)
Igalia
 
PyconIE 2016 - Kajiki, the fast and validated template engine your were looki...
PyconIE 2016 - Kajiki, the fast and validated template engine your were looki...PyconIE 2016 - Kajiki, the fast and validated template engine your were looki...
PyconIE 2016 - Kajiki, the fast and validated template engine your were looki...
Alessandro Molina
 
Web applications support on AGL
Web applications support on AGLWeb applications support on AGL
Web applications support on AGL
Igalia
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
Opsta
 
A intro to (hosted) Shiny Apps
A intro to (hosted) Shiny AppsA intro to (hosted) Shiny Apps
A intro to (hosted) Shiny Apps
Daniel Koller
 
Scala services in action
Scala services in actionScala services in action
Scala services in action
Underscore
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
Marcos Labad
 
PHP Aberdeen Quick optimisation of PHP with Webgrind
PHP Aberdeen Quick optimisation of PHP with WebgrindPHP Aberdeen Quick optimisation of PHP with Webgrind
PHP Aberdeen Quick optimisation of PHP with Webgrind
Andy_Gaskell
 

Similar to Introduction to padrino (20)

django
djangodjango
django
 
Introduce Django
Introduce DjangoIntroduce Django
Introduce Django
 
Radiant CMS - smart simplicity
Radiant CMS - smart simplicityRadiant CMS - smart simplicity
Radiant CMS - smart simplicity
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
 
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon LondonForensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
 
Free django
Free djangoFree django
Free django
 
Dust.js
Dust.jsDust.js
Dust.js
 
The Kitchen Cloud How To: Automating Joyent SmartMachines with Chef
The Kitchen Cloud How To: Automating Joyent SmartMachines with ChefThe Kitchen Cloud How To: Automating Joyent SmartMachines with Chef
The Kitchen Cloud How To: Automating Joyent SmartMachines with Chef
 
Padrino is agnostic
Padrino is agnosticPadrino is agnostic
Padrino is agnostic
 
Move out from AppEngine, and Python PaaS alternatives
Move out from AppEngine, and Python PaaS alternativesMove out from AppEngine, and Python PaaS alternatives
Move out from AppEngine, and Python PaaS alternatives
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
 
You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)You Can Work on the Web Patform! (GOSIM 2023)
You Can Work on the Web Patform! (GOSIM 2023)
 
PyconIE 2016 - Kajiki, the fast and validated template engine your were looki...
PyconIE 2016 - Kajiki, the fast and validated template engine your were looki...PyconIE 2016 - Kajiki, the fast and validated template engine your were looki...
PyconIE 2016 - Kajiki, the fast and validated template engine your were looki...
 
Web applications support on AGL
Web applications support on AGLWeb applications support on AGL
Web applications support on AGL
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
A intro to (hosted) Shiny Apps
A intro to (hosted) Shiny AppsA intro to (hosted) Shiny Apps
A intro to (hosted) Shiny Apps
 
Scala services in action
Scala services in actionScala services in action
Scala services in action
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
 
PHP Aberdeen Quick optimisation of PHP with Webgrind
PHP Aberdeen Quick optimisation of PHP with WebgrindPHP Aberdeen Quick optimisation of PHP with Webgrind
PHP Aberdeen Quick optimisation of PHP with Webgrind
 

Recently uploaded

Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Introduction to padrino

  • 1. Introduction to Padrino Toronto Ruby Brigade http://www.padrinorb.com/
  • 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. 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 it's nice to have some more additional functionalit [y] (like helpers, mailers, even caching) that Rails does [have]; and it's nice to have those features without leveraging their full opinionated stack. ■ Arthur Chiu
  • 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. padrino g project my_project --tiny
  • 6. padrino g project my_big_project -d activerecord -s prototype -e erb -a sqlite -t rspec -m mocha
  • 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. 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. 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. padrino g app my_sub_app
  • 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]
  • 13. 1) Run 'padrino rake ar:migrate' 2) Run 'padrino rake seed' 3) Visit the admin panel in the browser at '/admin'
  • 16. Why would someone choose to develop with Padrino VS Rails? From beginner... ● Sinatra is much easier to learn conceptually and in practice.
  • 17. Why would someone choose to develop 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. Why would someone choose to develop with Padrino VS Rails? Other reasons why you might want to take a look at Padrino: ● 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 (orm's, 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. Why would someone choose to develop 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. @victorbstan With help from the Padrino community & Special thanks to the Toronto Ruby Brigade