O que é o ruby on rails?
-
Upload
leonardo-costa -
Category
Technology
-
view
629 -
download
3
Transcript of O que é o ruby on rails?
![Page 1: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/1.jpg)
O que é Ruby on Rails?
Braga Geek Nights - Fevereiro 2010
Leonardo Costaemail: lcosta [dot] job [at] gmail [dot] com
sábado, 26 de Fevereiro/02 de 2011
![Page 2: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/2.jpg)
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 ano
sábado, 26 de Fevereiro/02 de 2011
![Page 3: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/3.jpg)
Ruby
sábado, 26 de Fevereiro/02 de 2011
![Page 4: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/4.jpg)
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 tituloProgramming Ruby de Dave Thomas
• 2004: Levada ao sucesso pelo RubyOnRails
sábado, 26 de Fevereiro/02 de 2011
![Page 5: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/5.jpg)
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étodo
sábado, 26 de Fevereiro/02 de 2011
![Page 6: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/6.jpg)
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 Operativos
sábado, 26 de Fevereiro/02 de 2011
![Page 7: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/7.jpg)
Rails
sábado, 26 de Fevereiro/02 de 2011
![Page 8: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/8.jpg)
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.4
sábado, 26 de Fevereiro/02 de 2011
![Page 9: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/9.jpg)
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 Resource
sábado, 26 de Fevereiro/02 de 2011
![Page 10: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/10.jpg)
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 faz
sábado, 26 de Fevereiro/02 de 2011
![Page 11: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/11.jpg)
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 models
sábado, 26 de Fevereiro/02 de 2011
![Page 12: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/12.jpg)
Rails - Componentes
• Action Mailer - enviar e-mails baseados em templates e receber e processar um e-mail
• 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 Ruby
sábado, 26 de Fevereiro/02 de 2011
![Page 13: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/13.jpg)
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/installation
sábado, 26 de Fevereiro/02 de 2011
![Page 14: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/14.jpg)
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 Windows
sábado, 26 de Fevereiro/02 de 2011
![Page 15: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/15.jpg)
Rails - primeiro passo
• No terminal$ rails blog # base de dados padrão SQLiteou$ rails blog -d mysqlou$ rails blog -d postgresql
• Começar uma aplicação via template$ rails blog -m http://compass-style.org/rails/installer
sábado, 26 de Fevereiro/02 de 2011
![Page 16: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/16.jpg)
sábado, 26 de Fevereiro/02 de 2011
![Page 17: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/17.jpg)
• $ 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.rb
sábado, 26 de Fevereiro/02 de 2011
![Page 18: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/18.jpg)
• $ 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 endend
sábado, 26 de Fevereiro/02 de 2011
![Page 19: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/19.jpg)
• $ 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 server
sábado, 26 de Fevereiro/02 de 2011
![Page 20: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/20.jpg)
http://0.0.0.0:3000/posts
sábado, 26 de Fevereiro/02 de 2011
![Page 21: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/21.jpg)
http://0.0.0.0:3000/posts/new
sábado, 26 de Fevereiro/02 de 2011
![Page 22: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/22.jpg)
sábado, 26 de Fevereiro/02 de 2011
![Page 23: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/23.jpg)
sábado, 26 de Fevereiro/02 de 2011
![Page 24: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/24.jpg)
sábado, 26 de Fevereiro/02 de 2011
![Page 25: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/25.jpg)
sábado, 26 de Fevereiro/02 de 2011
![Page 26: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/26.jpg)
http://0.0.0.0:3000/posts.xml
sábado, 26 de Fevereiro/02 de 2011
![Page 27: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/27.jpg)
sábado, 26 de Fevereiro/02 de 2011
![Page 28: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/28.jpg)
sábado, 26 de Fevereiro/02 de 2011
![Page 29: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/29.jpg)
Rails - Tools• script/about
• script/console
• script/dbconsole
• script/destroy
• script/generate
• script/plugin
• script/runner
• script/server
• e não menos o Rake
sábado, 26 de Fevereiro/02 de 2011
![Page 30: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/30.jpg)
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:todo
sábado, 26 de Fevereiro/02 de 2011
![Page 31: O que é o ruby on rails?](https://reader031.fdocumentos.tips/reader031/viewer/2022013118/555ad71fd8b42a62528b49f0/html5/thumbnails/31.jpg)
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 Railshttp://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 Realhttp://gettingreal.37signals.com
sábado, 26 de Fevereiro/02 de 2011