Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

Frameworks Slide 1 Frameworks Slide 2 Frameworks Slide 3 Frameworks Slide 4 Frameworks Slide 5 Frameworks Slide 6 Frameworks Slide 7 Frameworks Slide 8 Frameworks Slide 9 Frameworks Slide 10 Frameworks Slide 11 Frameworks Slide 12 Frameworks Slide 13 Frameworks Slide 14 Frameworks Slide 15 Frameworks Slide 16 Frameworks Slide 17 Frameworks Slide 18 Frameworks Slide 19 Frameworks Slide 20 Frameworks Slide 21 Frameworks Slide 22 Frameworks Slide 23 Frameworks Slide 24 Frameworks Slide 25 Frameworks Slide 26 Frameworks Slide 27 Frameworks Slide 28 Frameworks Slide 29 Frameworks Slide 30 Frameworks Slide 31 Frameworks Slide 32 Frameworks Slide 33 Frameworks Slide 34 Frameworks Slide 35 Frameworks Slide 36 Frameworks Slide 37 Frameworks Slide 38 Frameworks Slide 39 Frameworks Slide 40 Frameworks Slide 41 Frameworks Slide 42 Frameworks Slide 43 Frameworks Slide 44 Frameworks Slide 45
Upcoming SlideShare
The World of Social Objects
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

Frameworks

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Frameworks

  1. 1. The Right Tool For the Job
  2. 2. Who am I?
  3. 3. @itchyankles
  4. 4. I need to build a server!
  5. 5. What do I do?!
  6. 6. So many choices Django Compojure ASP.Net MVC Spring Sinatra Scalatra Meteor Rails Play Cake Liberator Code Ignitor Grails
  7. 7. What Makes Them Different? • Language • Performance • General Developer Speed • Library Support • Abstraction
  8. 8. Quick HTTP Break
  9. 9. What is HTTP?
  10. 10. Protocol An established set of guidelines for communication
  11. 11. Some Languages Have Nice Built in Web Server Support
  12. 12. var http = require("http"); http.createServer(function(request,response){ response.write("Hello World"); response.end(); }).listen(8080);
  13. 13. package main ! import ( "fmt" "net/http" ) ! func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello, world!") } ! func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) }
  14. 14. Ruby also has a built in server library….
  15. 15. … but no one uses it.
  16. 16. Rack wraps HTTP in a very thin Ruby layer
  17. 17. Rack app = lambda do |env| body = "Hello, World!" [ 200, { "Content-Type" => "text/plain", "Content-Length" => body.length.to_s }, [body] ] end ! run app
  18. 18. Weird, no?
  19. 19. Let’s Make this Prettier
  20. 20. Sinatra require 'sinatra' ! get '/' do "Hello World!" end
  21. 21. And The Next Step?
  22. 22. Well there are other alternatives, but let’s hold off on those…
  23. 23. Let’s Compare, Shall We?
  24. 24. Why Would We Ever Use Rack?
  25. 25. With Great Power Comes…
  26. 26. With Great Power Comes…
  27. 27. So why does Sinatra give us?
  28. 28. DSL (Domain Specific Language)
  29. 29. View Helpers!
  30. 30. A bit of convenience
  31. 31. So why does Rails give us?
  32. 32. ActiveRecord ActiveSupport ActionView
  33. 33. Good News
  34. 34. Rails and Sinatra are Popular!
  35. 35. Questions?!

Views

Total views

2,053

On Slideshare

0

From embeds

0

Number of embeds

2

Actions

Downloads

2

Shares

0

Comments

0

Likes

0

×