• Like
O que é o ruby on rails?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

O que é o ruby on rails?

  • 599 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
599
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
11
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. O que é Ruby on Rails? Braga Geek Nights - Fevereiro 2010 Leonardo Costa email: lcosta [dot] job [at] gmail [dot] comsábado, 26 de Fevereiro/02 de 2011
  • 2. Quem eu sou? • Nome - Leonardo Costa • Trabalho com web a cerca de 11 anos • Comecei a programar para web com Perl, PHP e .net • Estudo Ruby/Rails a cerca de 2 anos e meio • Trabalho diariamente com RubyOnRails acerca 1 anosábado, 26 de Fevereiro/02 de 2011
  • 3. Rubysábado, 26 de Fevereiro/02 de 2011
  • 4. Ruby - a História • 1993: Criado por Yukihiro “Matz” Matsumoto • Mais usada no Japão do que Python • 1995: Primeiro livro em inglês com o titulo Programming Ruby de Dave Thomas • 2004: Levada ao sucesso pelo RubyOnRailssábado, 26 de Fevereiro/02 de 2011
  • 5. Ruby - Características • Sintaxe simples, inspirada por Ada, Eiffel e Perl • Semântica compacta, inspirada por Smalltalk • Todo valor é um objecto • Toda operação em um objecto é um métodosábado, 26 de Fevereiro/02 de 2011
  • 6. Ruby - Características • Todas as classes são abertas • Herança simples e mixins • Closures reais • Garbage collector • Extensões via C • Suporte a quase todos os os Sistemas Operativossábado, 26 de Fevereiro/02 de 2011
  • 7. Railssábado, 26 de Fevereiro/02 de 2011
  • 8. Rails - a História • Criado por David Heinemeier Hansson (DHH) da 37signals em 2004 - www.loudthinking.com • Extraído de um projecto real - Basecamp • Lançamento publico em julho de 2004 • Lançamento da versão 1.0 em dezembro 2005 • Versão actual recomendada para deploy 2.3.4sábado, 26 de Fevereiro/02 de 2011
  • 9. Rails - o que é? • “full stack web framework” • Framework completo para desenvolvimento de aplicativos Web • Pacote MVC (Model-View-Controller) - Action Pack (Action Controller e Action View) - Active Record • Suporte a envio e recebimento de e-mails - Action Mailer • Active Resourcesábado, 26 de Fevereiro/02 de 2011
  • 10. Rails - Filosofia • DRY – “Don’t Repeat Yourself” • Convenção ao invés de Configuração • REST é o melhor modelo para aplicações web • Teste sempre o que fazsábado, 26 de Fevereiro/02 de 2011
  • 11. Rails - Componentes • Action Controller - requisições, sessão, renderização de template e gerenciamento de redirecionamento • Action View - gerência as views (HTML e XML por padrão), gerência a renderização de templates, templates aninhados e parciais, e inclui suporte embutido para AJAX • Active Record - funcionalidade CRUD, capacidade de buscas avançadas, relacionamento entre modelssábado, 26 de Fevereiro/02 de 2011
  • 12. Rails - Componentes • Action Mailer - e processar um e-mail enviar e-mails baseados em templates e receber • Active Resource - framework para serviços web RESTful • Active Support - colecção extensiva de classes utilitárias e extensões da biblioteca padrão do Rubysábado, 26 de Fevereiro/02 de 2011
  • 13. Rails - instalação • Instalar Ruby http://www.ruby-lang.org/en/downloads • Instalar RubyGems (Mac ou Linux) http://rubyforge.org/projects/rubygems • Instalar Rails $ sudo gem install rails • wiki de instalação em http:// wiki.rubyonrails.org/getting-started/ installationsábado, 26 de Fevereiro/02 de 2011
  • 14. Rails - Começo Rápido • Para um começo rápido PRINCIPALMENTE para usuários do Windows temos o RubyStack da BitNami que pode ser encontrado em http:// bitnami.org/stack/rubystack, disponível para Linux, Mac e Windowssábado, 26 de Fevereiro/02 de 2011
  • 15. Rails - primeiro passo • No terminal $ rails blog # base de dados padrão SQLite ou $ rails blog -d mysql ou $ rails blog -d postgresql • Começar -m http://compass-style.org/rails/ $ rails blog uma aplicação via template installersábado, 26 de Fevereiro/02 de 2011
  • 16. sábado, 26 de Fevereiro/02 de 2011
  • 17. • $ cd blog • $ script/generate scaffold Post title:string body:text exists app/models/ exists app/controllers/ exists app/helpers/ create app/views/posts exists app/views/layouts/ exists test/functional/ exists test/unit/ create test/unit/helpers/ exists public/stylesheets/ create app/views/posts/index.html.erb create app/views/posts/show.html.erb create app/views/posts/new.html.erb create app/views/posts/edit.html.erb create app/views/layouts/posts.html.erb create public/stylesheets/scaffold.css create app/controllers/posts_controller.rb create test/functional/posts_controller_test.rb create app/helpers/posts_helper.rb create test/unit/helpers/posts_helper_test.rb route map.resources :posts dependency model exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/post.rb create test/unit/post_test.rb create test/fixtures/posts.yml create db/migrate create db/migrate/20100202165708_create_posts.rbsábado, 26 de Fevereiro/02 de 2011
  • 18. • $ mate db/migrate/20100120165708_create_posts.rb • class CreatePosts < ActiveRecord::Migration def self.up create_table :posts do |t| t.string :title t.text :body t.timestamps # update_at and created_at columns end end def self.down drop_table :posts end endsábado, 26 de Fevereiro/02 de 2011
  • 19. • $ rake db:migrate (in /Users/lcosta/tmp/blog) == CreatePosts: migrating ==================================================== -- create_table(:posts) -> 0.0014s == CreatePosts: migrated (0.0017s) =========================================== • $ script/server => Booting Mongrel => Rails 2.3.4 application starting on http://0.0.0.0:3000 => Call with -d to detach=> Ctrl-C to shutdown serversábado, 26 de Fevereiro/02 de 2011
  • 20. http://0.0.0.0:3000/postssábado, 26 de Fevereiro/02 de 2011
  • 21. http://0.0.0.0:3000/posts/newsábado, 26 de Fevereiro/02 de 2011
  • 22. sábado, 26 de Fevereiro/02 de 2011
  • 23. sábado, 26 de Fevereiro/02 de 2011
  • 24. sábado, 26 de Fevereiro/02 de 2011
  • 25. sábado, 26 de Fevereiro/02 de 2011
  • 26. http://0.0.0.0:3000/posts.xmlsábado, 26 de Fevereiro/02 de 2011
  • 27. sábado, 26 de Fevereiro/02 de 2011
  • 28. sábado, 26 de Fevereiro/02 de 2011
  • 29. Rails - Tools • script/about • script/runner • script/console • script/server • script/dbconsole • script/destroy • e não menos o Rake • script/generate • script/pluginsábado, 26 de Fevereiro/02 de 2011
  • 30. Rails - o Rake • automatizador de tarefas • para ver uma listagem de todas as tarefas: • $ rake -T • rake db:create:all • rake db:migrate • rake db:migrate:redo, rake db:reset rake db:rollback • rake db:migrate:down e rake db:migrate:up • rake doc:app • rake gems, rake gems:install e rake gems:unpack • rake notes | notes:fixme | notes:optimize | notes:todosábado, 26 de Fevereiro/02 de 2011
  • 31. Ruby e Rails - Links • Site oficial do Ruby http://www.ruby-lang.org • Bom lugar para aprender Ruby (Satish Talim) http://rubylearning.com • Site oficial do Rails http://rubyonrails.org • Excelentes guias sobre Rails http://guides.rubyonrails.org e http://guias.rubyonrails.pro.br • Screencasts de alta qualidade sobre Rails http://railscasts.com • O repositório de código open source http://github.com • Getting Real http://gettingreal.37signals.comsábado, 26 de Fevereiro/02 de 2011
  • 32. Perguntas? email: lcosta.job@gmail.com - http://twitter.com/lcostasábado, 26 de Fevereiro/02 de 2011