SlideShare une entreprise Scribd logo
1  sur  46
THE BRIEF SEEDS OF
    PADRINO
      by id:aereal
WHO AM I?


@aereal

id:aereal

GitHub: aereal

Application Engineer at Hatena

see also: aereal.org
WORKS

Padrino::Validation::HTML5

  Add supports HTML5 form validations to Padrino

  github.com/aereal/padrino-validation-html5

Hated

  mocking server which can be utilized for Hatena Diary

  github.com/aereal/hated
TABLE OF CONTENTS

The essentials of developing a Web Application

The History of Web Application Frameworks

Padrino and Sinatra

Padrino and Rails

Padrino and Others
THE ESSENTIALS OF
  DEVELOPING
WEB APPLICATION
THE ESSENTIALS OF
   DEVELOPING A WEB APP.


Fast

Compact

Portable
FAST?


Reading

Coding

Setting-up

Loading

Deploying
COMPACT?


Application Code

Framework Code

Dependencies

Architecture
PORTABLE?



Dependencies

Hosting Services

Size of Application (and Framework)
“Less is more.”
  Ludwig Mies van der Rohe (1886-1969)
I MEAN


Keep developing a web app:

  Fast

  Compact

  Portable

Then you take a delight in!
THE HISTORY OF
WEB APPLICATION
FRAMEWORK
History repeats itself
DRY =
 Don’t
 Repeat
 Yourself
We should learn from the History
THE HISTORY OF
    WEB APP. FRAMEWORK


(CGI, Common Gateway Interface)

Full-stack

(Minimal)

Micro-framework
FULL-STACK FRAMEWORK



Rails (Ruby)

Django (Python)

Catalyst (Perl)
FULL-STACK FRAMEWORK



Forms the big cultural sphere

Relieves your mind by hiding what you mind

  You’ll never know them unless you will
MICRO-FRAMEWORK


Sinatra (Ruby)

Juno (Python)

Mojolicious::Lite, Amon2 (Perl)

Loli (!) -> Miku (!!!) (Haskell)

Scalatra (Scala)
MICRO-FRAMEWORK



Forms small/open cultural sphere

Relieves your mind by showing what you do

  You should write/know only what you do
!!! Rails vs. Sinatra !!!
IMAGINE!
生存戦略∼
SURVIVING STRATEGY


Rails doesn’t kill Sinatra

  Rails doesn’t have small spin-up

Sinatra doesn’t kill Rails

  Sinatra doesn’t have the order
your_desires << small spin-up
your_desires << fast spin-up
your_desires << the order
your_desires << scaling
Padrino.include?(your_desire)
          # -> true
PADRINO
AND
SINATRA
PADRINO IS BUFFET
PADRINO IS BUFFET

Routing (Named, Multiple Format)

Helpers

Logger

Admin Apps (like Django)

Reloader (It’s smart!)

see also: www.padrinorb.com/#introduction
PADRINO IS FXXKIN’ SHIT?


Extending Sinatra through Public / Safe API

  but Padrino::Routing is like a abyss ...

use (Rack Middleware)

register (Sinatra Extension)
Sinatra’s World?
THE DOMAIN OF SINATRA



    = HTTP
KEEP IT LESS



No DBs

No helpers

No anything luxurious
LESS IS NOT IMPOSSIBLE



DB / ORM

View Helpers

  You can use it with Sinatra!
ON THE SINATRA



Sinatra discovered potential / real needs

Sinatra built them

Specifications beat Conventions
PADRINO
AND
RAILS
PADRINO AND RAILS



Rails is full-stack

Padrino can be full-stack

  This means you can use Padrino as not full-stack
RAILS IS THE INNOVATOR


Discovered many important things

  Spirit of DRY, or CoC

  ActiveRecord, ActiveSupport, etc.

Sometimes it makes a detour

The innovation involves pains
PADRINO IS THE GODFATHER
PADRINO IS THE GODFATHER


He glues the components of Web Applications

  Test Frameworks

  ORM

  etc.

He guards Sinatra’s World
ROUTING


Rails

  config/routes.rb

  resource[s] (>= 3.0)

Padrino & Sinatra

  HTTP Verbs (get, post, etc ...)
VIEW


Rails

  ActionView

Padrino & Sinatara

  Tilt (>= 1.0)
HERITAGES


Architectures and Spirits

  MVC

  DRY

Luxuoriousness
CONCLUSIONS



Padrino is on the Sinatra’s World

Rails’ heritages are behind

Padrino, Sinatra, and Rails should be all in harmony
SEE ALSO

Padrino Official Web (www.padrinorb.com)

Padrino Official Web (ja) (jp.padrinorb.com)

Padrino on GitHub (github.com/padrino/padrino-
framework)

Padrino Recipes (github.com/padrino/padrino-recipes)

Sinatra The Book (sinatra-book.gittr.com)
SEE ALSO



@udzura’s Blog (blog.udzura.jp/)



and, my blog :) (aereal.hateblo.jp)

Contenu connexe

Similaire à The brief seeds of Padrino

Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Future
elliando dias
 
Fronteers Workshop: Rabid Prototyping
Fronteers Workshop: Rabid PrototypingFronteers Workshop: Rabid Prototyping
Fronteers Workshop: Rabid Prototyping
Stephen Hay
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010
arif44
 

Similaire à The brief seeds of Padrino (20)

Ruby - The Hard Bits
Ruby - The Hard BitsRuby - The Hard Bits
Ruby - The Hard Bits
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Rails in the bowels
Rails in the bowelsRails in the bowels
Rails in the bowels
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Future
 
Sparklife - Life In The Trenches With Spark
Sparklife - Life In The Trenches With SparkSparklife - Life In The Trenches With Spark
Sparklife - Life In The Trenches With Spark
 
Ruby On Rails Presentation
Ruby On Rails PresentationRuby On Rails Presentation
Ruby On Rails Presentation
 
Fronteers Workshop: Rabid Prototyping
Fronteers Workshop: Rabid PrototypingFronteers Workshop: Rabid Prototyping
Fronteers Workshop: Rabid Prototyping
 
Finding Frank - Spotify API.pdf
Finding Frank - Spotify API.pdfFinding Frank - Spotify API.pdf
Finding Frank - Spotify API.pdf
 
Development: What They Don't Teach You in College
Development: What They Don't Teach You in CollegeDevelopment: What They Don't Teach You in College
Development: What They Don't Teach You in College
 
Development: What they don't teach you in college
Development: What they don't teach you in collegeDevelopment: What they don't teach you in college
Development: What they don't teach you in college
 
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
 
Why Django
Why DjangoWhy Django
Why Django
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
FOSDEM 2021 - Infrastructure as Code Drift & Driftctl
FOSDEM 2021 - Infrastructure as Code Drift & DriftctlFOSDEM 2021 - Infrastructure as Code Drift & Driftctl
FOSDEM 2021 - Infrastructure as Code Drift & Driftctl
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010
 
Libraries Frameworks And Cms
Libraries Frameworks And CmsLibraries Frameworks And Cms
Libraries Frameworks And Cms
 
An Automated Laser Pointer for Your Dog : Aws IoT & Lambda
An Automated Laser Pointer for Your Dog : Aws IoT & Lambda An Automated Laser Pointer for Your Dog : Aws IoT & Lambda
An Automated Laser Pointer for Your Dog : Aws IoT & Lambda
 
SoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:sSoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:s
 
WebKit, why it matters (PDF version)
WebKit, why it matters (PDF version)WebKit, why it matters (PDF version)
WebKit, why it matters (PDF version)
 

Dernier

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

The brief seeds of Padrino

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n