Padrino - the Godfather of Sinatra

31,646
-1

Published on

Padrino is a ruby framework built upon the Sinatra web library.

Published in: Technology
0 Comments
34 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
31,646
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
158
Comments
0
Likes
34
Embeds 0
No embeds

No notes for slide

Padrino - the Godfather of Sinatra

  1. 1. Padrinothe Godfather of Sinatra
  2. 2. Padrinothe Godfather of Sinatra ?
  3. 3. Why?
  4. 4. Quiz
  5. 5. SASS ?
  6. 6. SASSSyntactically Awesome Stylesheets
  7. 7. SASS
  8. 8. CoffeeScript ?
  9. 9. CoffeeScript
  10. 10. sprockets ?
  11. 11. sprocketsRack-based asset packaging
  12. 12. Too complicated
  13. 13. Simple is GOOD
  14. 14. Dataservices (mobile , API) + DB backend
  15. 15. Data flow HTTP requestprocess by RUBY HTTP response
  16. 16. Rack
  17. 17. Rack = HTTP model env {} def ca# ( env )[ status , { headers } , [body] ]
  18. 18. Rack application
  19. 19. RackWebserversRACK appFrameworks
  20. 20. Rack tools
  21. 21. Rack tools
  22. 22. Rack tools
  23. 23. config.ru
  24. 24. Rack is GOOD !
  25. 25. • Renee• Presto• Hebo• RESTrack
  26. 26. TOO CROWDED
  27. 27. YARF
  28. 28. YARFYet Another Rack Framework
  29. 29. https://github.com/zh/yarf
  30. 30. Sinatra
  31. 31. Sinatra
  32. 32. Sinatra is REAL !http://www.sinatrarb.com/wild.html
  33. 33. But...
  34. 34. my ownlink_to :confirm
  35. 35. Missing pieces• Generators - Gemfile, config.ru etc.• Helpers - link_to(), image_tag()• Mailer• Admin interface - a.l.a Django
  36. 36. Too simple is BAD
  37. 37. Padrinogem install padrino
  38. 38. YARFYet Another Rack Framework
  39. 39. Padrino = Sinatra++
  40. 40. Container ( )
  41. 41. Modular ( )
  42. 42. $ padrino ...
  43. 43. Generators
  44. 44. $ padrino g project myproj
  45. 45. $ padrino g project myproj -s jquery -c sass -e erb
  46. 46. $ padrino g project myproj -s jquery -c sass -e erb -d activerecord -a sqlite
  47. 47. $ padrino g project myproj -s jquery -c sass -e erb -d activerecord -a sqlite -t rspec -m mocha
  48. 48. Agnostic ( )Component Default Alias Options activerecord ORM none -d , mongoid Renderer haml -e erb,slim jquery, Script none -s prototype sass , less , Style none -c compass Test none -t rspec, bacon
  49. 49. Many generators• Project generator• Controller generator• Model generator• Migration generator• Admin generator
  50. 50. padrino g admin
  51. 51. Multiple Appsby design
  52. 52. Interesting files• Gemfile - bundle install• config/apps.rb - Padrino.mount( ... ).to( ... )• config/boot.rb - logger , locale• app/app.rb - core application install
  53. 53. Helpers• Tags: input_tag :text, :class => ‘demo’• Assets: stylesheet_link_tag ‘layout’• Format: escape_html( ) , truncate( )• Links: link_to ... , :confirm => ‘Are you sure?’
  54. 54. Mailer• Configure: app/app.rb• Generate: $ pd g mailer Sample register• [views]/mailers/sample/register.plain.erb• Deliver: deliver(:sample, :register, “foo@bar”)• Tests: set :delivery_method, :test
  55. 55. Simple mailer ( )
  56. 56. MultipartAttachments
  57. 57. Dev Friendly• Reloader - disable :reload to stop it• Auto load paths - lib/*• $ padrino gen | start | stop | console | rake
  58. 58. Friendly• - http://jp.padrino.com/• @udzura ( Uchio Kondo )
  59. 59. Padrino inside Sinatra
  60. 60. HelpersRouting
  61. 61. Mailer in Sinatra
  62. 62. I18n
  63. 63. Padrino is GOOD !
  64. 64. Questions?

×