Rapid Prototyping with Rails            isn’t           Rapid
Rapid Prototyping with Rails            isn’t       Collaborative
Rapid Prototyping with Rails           isn’t           Easy
$ rails new protoypeapp
$ rails generate scaffold ...
Models and Controllers
Architecting =/= Prototyping
$ vi config/database.yml
$ mysql -uroot
NO
A database shouldn’t berequired to brainstorm         ideas
Don’t even get mestarted on migrations
Only RailsProgrammers can   contribute
Prototyping should be     All inclusive
$ serve create app
$ serve create app -j jquery # Works with jquery jquery-ui Prototype etc.
app/    |    +--   config.ru    +--   public/                 # Directories for static assets    |      +-- stylesheets/  ...
No ModelsNo ControllersAll views
No Routes Either
View folders    areYour Routes
All the simplicity of  circa 2004 PHP
View Helpersmake it modern
$ gem install factory_girl
$ gem install faker
$ gem install factory_girl_extensions
# views/view_helper.rbFactoryGirl.define do  factory :user do    first_name Faker::Name.first_name #=> John    last_name F...
# views/view_helper.rbclass Numeric   def of &block     Array.new(to_i).map &block   endend@users = 50.of.User.build      ...
# /config.ru     Serve is a Rack app!
$ curl get.pow.cx | sh
$ cd ~/.pow$ ln -s /path/to/myapp
http://myapp.dev/
But, wait
Alt-⌘ + ⌘Rtakes too long!
Guard
Guard$ gem install guard
Guard$ gem install guard-livereload
GuardLiveReload refreshes the  browser so you don’t        have to
GuardAvailable for Windows, Mac, Linux                on   Firefox, Chrome and Safari github.com/mockko/livereload
Guard$ guard init livereload
Guard# /Guardfileguard livereload do  watch(%r{views/.+.(erb|haml|html)})  watch(%r{views/helpers_.rb})  watch(%r{public/....
Serve projects are rack apps             so    Heroku likes them
Front-End/Designer’s    Perspective
Rails is a tool forbackend developers
Design in the Browser
Contribute more than    sliced PSDs
Command-line isbecoming expected asskill for front-end devs
Git isn’t that hard
Github & Heroku          =Great Reasons to Learn
Entreprenurs,Get your ideas done faster and cheaper
Let people who love  HTML do HTML
Let Rubyists wrestle     with Rails
Empower front-end devs          tomake the backend easier
Empower front-end devs           tomake the backend easierbe a part of the process
Thank You
One more thing...
Rails 3 is       aRack Application
Rack::Cascade[Enter Stage Left]
Rack::Cascaderun Rack::Cascade.new([  MyRailsApp::Application,  serve_polished_protoype,  serve_rough_wireframes])
Rack::Cascade   Reuse your mockupsand wireframes
This has beenRapid Prototyping FTW!!!       Emmanuel Mwangi      Senior QA Engineer           SendGrid
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!
Upcoming SlideShare
Loading in...5
×

Rapid Prototyping FTW!!!

884

Published on

Using

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

No Downloads
Views
Total Views
884
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • Models and Controllers are architecting. They make you think about how the app should work rather than what the app should do or what it should look like or how it will interact with users.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • View_helpers are ruby files in each directory to execute in the context of the the views in each directory.\n
  • \n
  • \n
  • \n
  • Auto-generate random names, addresses, companies, slogans, etc with Faker.\n
  • User.build comes from factory_girl_extensions\n
  • \n
  • \n
  • That’s the install!\n
  • That’s how to link an app to project\n
  • That’s how to link an app to project\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Browser plugin for all the major modern browsers.\n
  • \n
  • \n
  • \n
  • \n
  • Easy to install Pow, Serve and even Push to Heroku with a little help.\n
  • Easy to install Pow, Serve and even Push to Heroku with a little help.\n
  • Easy to install Pow, Serve and even Push to Heroku with a little help.\n
  • Easy to install Pow, Serve and even Push to Heroku with a little help.\n
  • Easy to install Pow, Serve and even Push to Heroku with a little help.\n
  • Easy to install Pow, Serve and even Push to Heroku with a little help.\n
  • Easy to install Pow, Serve and even Push to Heroku with a little help.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Always wanted to do a deck with one of these slides...\n
  • \n
  • \n
  • From top to bottom, Rack::Cascade will try and serve pages from the first app and if that page returns a 404, automatically serves from the next app down the list. Each of the apps on that list can be different projects, with different teams and different states of readiness.\n
  • \n
  • \n
  • Rapid Prototyping FTW!!!

    1. 1. Rapid Prototyping with Rails isn’t Rapid
    2. 2. Rapid Prototyping with Rails isn’t Collaborative
    3. 3. Rapid Prototyping with Rails isn’t Easy
    4. 4. $ rails new protoypeapp
    5. 5. $ rails generate scaffold ...
    6. 6. Models and Controllers
    7. 7. Architecting =/= Prototyping
    8. 8. $ vi config/database.yml
    9. 9. $ mysql -uroot
    10. 10. NO
    11. 11. A database shouldn’t berequired to brainstorm ideas
    12. 12. Don’t even get mestarted on migrations
    13. 13. Only RailsProgrammers can contribute
    14. 14. Prototyping should be All inclusive
    15. 15. $ serve create app
    16. 16. $ serve create app -j jquery # Works with jquery jquery-ui Prototype etc.
    17. 17. app/ | +-- config.ru +-- public/ # Directories for static assets | +-- stylesheets/ # Compiled stylesheets | +-- images/ | `-- javascripts/ +-- sass/ # Store Sass source files here | `-- application.sass +-- tmp/ | `-- restart.txt # Needed for Passenger `-- views/ # Store your ERB, Haml, etc. here +-- _layout.html.erb # Example layout +-- hello.html.erb # Example view +-- view_helpers.rb # Example view helpers `-- stan.html # PLAIN HTML ALSO WORKS!
    18. 18. No ModelsNo ControllersAll views
    19. 19. No Routes Either
    20. 20. View folders areYour Routes
    21. 21. All the simplicity of circa 2004 PHP
    22. 22. View Helpersmake it modern
    23. 23. $ gem install factory_girl
    24. 24. $ gem install faker
    25. 25. $ gem install factory_girl_extensions
    26. 26. # views/view_helper.rbFactoryGirl.define do factory :user do first_name Faker::Name.first_name #=> John last_name Faker::Name.last_name #=> Smith endend
    27. 27. # views/view_helper.rbclass Numeric def of &block Array.new(to_i).map &block endend@users = 50.of.User.build Cheap and easy Data Model
    28. 28. # /config.ru Serve is a Rack app!
    29. 29. $ curl get.pow.cx | sh
    30. 30. $ cd ~/.pow$ ln -s /path/to/myapp
    31. 31. http://myapp.dev/
    32. 32. But, wait
    33. 33. Alt-⌘ + ⌘Rtakes too long!
    34. 34. Guard
    35. 35. Guard$ gem install guard
    36. 36. Guard$ gem install guard-livereload
    37. 37. GuardLiveReload refreshes the browser so you don’t have to
    38. 38. GuardAvailable for Windows, Mac, Linux on Firefox, Chrome and Safari github.com/mockko/livereload
    39. 39. Guard$ guard init livereload
    40. 40. Guard# /Guardfileguard livereload do watch(%r{views/.+.(erb|haml|html)}) watch(%r{views/helpers_.rb}) watch(%r{public/.+.(css|js|html)})end
    41. 41. Serve projects are rack apps so Heroku likes them
    42. 42. Front-End/Designer’s Perspective
    43. 43. Rails is a tool forbackend developers
    44. 44. Design in the Browser
    45. 45. Contribute more than sliced PSDs
    46. 46. Command-line isbecoming expected asskill for front-end devs
    47. 47. Git isn’t that hard
    48. 48. Github & Heroku =Great Reasons to Learn
    49. 49. Entreprenurs,Get your ideas done faster and cheaper
    50. 50. Let people who love HTML do HTML
    51. 51. Let Rubyists wrestle with Rails
    52. 52. Empower front-end devs tomake the backend easier
    53. 53. Empower front-end devs tomake the backend easierbe a part of the process
    54. 54. Thank You
    55. 55. One more thing...
    56. 56. Rails 3 is aRack Application
    57. 57. Rack::Cascade[Enter Stage Left]
    58. 58. Rack::Cascaderun Rack::Cascade.new([  MyRailsApp::Application,  serve_polished_protoype, serve_rough_wireframes])
    59. 59. Rack::Cascade Reuse your mockupsand wireframes
    60. 60. This has beenRapid Prototyping FTW!!! Emmanuel Mwangi Senior QA Engineer SendGrid
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×