Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The brief seeds of Padrino

3f4be9784f765877f444bc839de29888?s=47 aereal
December 10, 2011

The brief seeds of Padrino

at 2011/12/10, Padrino Sabbath in Kyoto

3f4be9784f765877f444bc839de29888?s=128

aereal

December 10, 2011
Tweet

Transcript

  1. THE BRIEF SEEDS OF PADRINO by @aereal, at Padrino Sabbath

    in Kyoto
  2. WHO AM I? @aereal id:aereal GitHub: aereal Undergraduate student majoring

    (Cognitive) Psychology Part-time (Rails) engineer at Happy Elements K.K. see also: kerare.org/
  3. 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
  4. 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
  5. THE ESSENTIALS OF DEVELOPING WEB APPLICATION

  6. THE ESSENTIALS OF DEVELOPING A WEB APP. Fast Compact Portable

  7. FAST? Reading Coding Setting-up Loading Deploying

  8. COMPACT? Application Code Framework Code Dependencies Architecture

  9. PORTABLE? Dependencies Hosting Services Size of Application (and Framework)

  10. “Less is more.” Ludwig Mies van der Rohe (1886-1969)

  11. I MEAN Keep developing a web app: Fast Compact Portable

    Then you take a delight in!
  12. THE HISTORY OF WEB APPLICATION FRAMEWORK

  13. History repeats itself

  14. DRY = Don’t Repeat Yourself

  15. We should learn from the History

  16. THE HISTORY OF WEB APP. FRAMEWORK (CGI, Common Gateway Interface)

    Full-stack (Minimal) Micro-framework
  17. FULL-STACK FRAMEWORK Rails (Ruby) Django (Python) Catalyst (Perl)

  18. FULL-STACK FRAMEWORK Forms the big cultural sphere Relieves your mind

    by hiding what you mind You’ll never know them unless you will
  19. MICRO-FRAMEWORK Sinatra (Ruby) Juno (Python) Mojolicious::Lite, Amon2 (Perl) Loli (!)

    -> Miku (!!!) (Haskell) Scalatra (Scala)
  20. MICRO-FRAMEWORK Forms small/open cultural sphere Relieves your mind by showing

    what you do You should write/know only what you do
  21. !!! Rails vs. Sinatra !!!

  22. IMAGINE!

  23. ੜଘઓུʙ

  24. 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
  25. your_desires << small spin-up your_desires << fast spin-up your_desires <<

    the order your_desires << scaling
  26. Padrino.include?(your_desire) # -> true

  27. PADRINO AND SINATRA

  28. PADRINO IS BUFFET

  29. PADRINO IS BUFFET Routing (Named, Multiple Format) Helpers Logger Admin

    Apps (like Django) Reloader (It’s smart!) see also: www.padrinorb.com/#introduction
  30. PADRINO IS FXXKIN’ SHIT? Extending Sinatra through Public / Safe

    API but Padrino::Routing is like a abyss ... use (Rack Middleware) register (Sinatra Extension)
  31. Sinatra’s World?

  32. THE DOMAIN OF SINATRA = HTTP

  33. KEEP IT LESS No DBs No helpers No anything luxurious

  34. LESS IS NOT IMPOSSIBLE DB / ORM View Helpers You

    can use it with Sinatra!
  35. ON THE SINATRA Sinatra discovered potential / real needs Sinatra

    built them Specifications beat Conventions
  36. PADRINO AND RAILS

  37. PADRINO AND RAILS Rails is full-stack Padrino can be full-stack

    This means you can use Padrino as not full-stack
  38. 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
  39. PADRINO IS THE GODFATHER

  40. PADRINO IS THE GODFATHER He glues the components of Web

    Applications Test Frameworks ORM etc. He guards Sinatra’s World
  41. ROUTING Rails config/routes.rb resource[s] (>= 3.0) Padrino & Sinatra HTTP

    Verbs (get, post, etc ...)
  42. VIEW Rails ActionView Padrino & Sinatara Tilt (>= 1.0)

  43. HERITAGES Architectures and Spirits MVC DRY Luxuoriousness

  44. CONCLUSIONS Padrino is on the Sinatra’s World Rails’ heritages are

    behind Padrino, Sinatra, and Rails should be all in harmony
  45. 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)
  46. SEE ALSO @udzura’s Blog (blog.udzura.jp/) and, my blog :) (aereal.hateblo.jp)