Conhecendo Sinatra

696 views

Published on

Conheça um pouco mais sobre o framework que promete lhe auxiliar a criar aplicações web com o mínimo esforço e com classe, like a Sinatra!

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

  • Be the first to like this

No Downloads
Views
Total views
696
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Conhecendo Sinatra

  1. 1. Conhecendo SinatraMarcus Sá - Woompa @sa_vini
  2. 2. Um pouco de história Pra explicar essa palestra
  3. 3. Do que vamos falar? Sinatra, e seu eco- sistema
  4. 4. Eco-sistema?Sim, há bem maisdo que só código
  5. 5. Eco-sistema:1. DSL2. HTTP Verbs3. Rack/Middleware4. Sinatra
  6. 6. 1. DSL O que é DSL Domain-specific language
  7. 7. 1. DSL DSL’s conhecidas HTML, CSS, XML, YML, SQL
  8. 8. 2. HTTP Verbs O que são os verbos HTTP? Diferentes ações para a mesma URL
  9. 9. 2. HTTP Verbs O que eles fazem? GET, POST, PUT, DELETE
  10. 10. 3. Rack/Middleware O que é Rack? Uma interface entre webservers e frameworks
  11. 11. 3. Rack/Middleware Devo me importar?Sim, você precisa saber como tudo funciona!
  12. 12. 3. Rack/Middleware E agora você pode tudo! Desenvolver suas apps ruby sem framework!
  13. 13. 4. Sinatra O que é Sinatra? DSL, rodando sobre Rack
  14. 14. 4. Sinatra Quem usa? Github Apple BBC Heroku Linkedin
  15. 15. 4. Sinatra Perfeito para API’s Porém não é só isso
  16. 16. 4. Sinatra Mas não é um frameworkSem ORM, sem arquivos de configuração
  17. 17. 4. Sinatra Implementa MVC?Nem MVC, nem nenhum tipo de pattern
  18. 18. 4. Sinatra E como eu instalo? gem install sinatra
  19. 19. 4. Sinatra Esforço mínimo require sinatra get / do "Hello, world!" end
  20. 20. 4. Sinatra Routing get / do show something end post / do create something end put / do replace something end patch / do modify something end delete / do annihilate something end options / do appease something end
  21. 21. 4. Sinatra DRY [/one, /two, /three].each do |route| get route do "Triggered #{route} via GET" end end
  22. 22. 4. Sinatra Rotas com query stringsget /:name do # URL in the form /some_name?foo=XYZ "#{params[:name]} - #{params[:foo]}"end
  23. 23. 4. Sinatra Rotas com wildcardsget /* do "You passed in #{params[:splat]}" # http://localhost:4567/foo/bar/baz/bop # params[:splat] = ["foo/bar/baz/bop"].end
  24. 24. 4. SinatraA primeira rota vence Caso 2 satisfaçam
  25. 25. 4. Sinatra Fazendo redirect get /redirect do redirect http://www.google.com, 301 end
  26. 26. 4. Sinatra Views Dando um rostinho bonito para sua app
  27. 27. 4. Sinatra Views get /index do erb :index end
  28. 28. 4. Sinatra Viewsset :views, File.dirname(__FILE__) + /htm
  29. 29. 4. Sinatra Views templates Haml, Slim, Erb,Markdown, Textile e etc
  30. 30. 4. Sinatra Passandodados p/ Views get /home do @name = Random User erb :home end
  31. 31. 4. Sinatra Passandodados p/ Views <h1>Hello, <%= @name %>!</h1>
  32. 32. 4. Sinatra 404 Not found not_found do "Rota não encontrada" end
  33. 33. 4. Sinatra 500 Server error error do "Y U NO WORK?" end
  34. 34. 4. SinatraA partir daí, dá pra fazer muito!
  35. 35. 4. Sinatra Hmk
  36. 36. 4. SinatraResponse time
  37. 37. Perguntas ?
  38. 38. Obrigado Marcus Sá @sa_vini

×