PROGRAMAÇÃO ÁGIL COM RUBY ON
RAILS
Breno Moura
BASMOUR
A
basmoura@gmail.com
MANIFESTO ÁGIL
Aceitar mudanças de requisitos, mesmo no fim do
desenvolvimento. Processos ágeis se adequam a
mudanças, para que o cliente possa tirar vantagens
competitivas.
Contínua atenção à excelência técnica e bom design,
aumenta a agilidade.
http://manifestoagil.com.br/principios.html
RUBY
• Criada em 1995 porYukihiro “Matz” Matsumoto;
• Tipagem Forte e Dinâmica;
• Interpretada;
• 100% orientada a objetos;
• http://ruby-lang.org
RUBY
Exemplos de
Código
http://ruby-lang.org
RUBY ON RAILS
• Criada em 2004 por David Heinemeier Hansson;
• Open Source;
• Meta-framework;
• Escalabilidade;
• http://rubyonrails.org/
O QUE É RUBY ON RAILS
“Rails é o framework de desenvolvimento web mais bem bolado que eu já
utilizei. E já faz mais de uma década que faço aplicações web para
sobreviver. Eu construí meus próprios frameworks, ajudei a desenvolver a
API Servlet, e criei muito mais que alguns poucos servidores web. Ninguém
fez nada como o Rails antes.”
-James Duncan Davidson, criador do Tomcat e do Ant
“O que diferencia este framework de todos os outros é a preferência por
convenção ao invés de configuração para tornar as aplicações mais fáceis
de desenvolver e compreender.”
-Sam Ruby, funcionário da IBM e diretor da Apache Software Foundation
“Rails é a "killer app" do Ruby.”
Yukihiro Matsumoto, criador do Ruby
http://www.rubyonrails.com.br/citacoe
RUBY ON RAILS
Framework de
frameworks
Active Record
O Active Record é uma camada de mapeamento objeto-relacional
(object-relational mapping layer), responsável pela interoperabilidade
entre a aplicação e o banco de dados e pela abstração dos dados.
Action Pack
Compreende o Action View (geração de visualização de usuário, como
HTML, XML, JavaScript, entre outros) e o Action Controller (controle de
fluxo de negócio).
RUBY ON RAILS
Framework de
frameworks
Action Mailer
O Action Mailer é um framework responsável pelo serviço de entrega e
até mesmo de recebimento de e-mails. É relativamente pequeno e
simples, porém poderoso e capaz de realizar diversas operações
apenas com chamadas de entrega de correspondência.
Active Support
Active Support é uma coleção de várias classes úteis e extensões de
bibliotecas padrões, que foram considerados úteis para aplicações em
Ruby on Rails.
RUBY ON RAILS
Framework de
frameworks
Active Webservices
Provê uma maneira de publicar APIs interoperaveis com o Rails, sem a
necessidade de perder tempo dentro de especificações de protocolo.
Implementa WSDL e SOAP.
O Action Web Service não estará mais presente na versão 2.0 no Rails,
visto que o mesmo está voltando-se para a utilização do modelo REST.
Mesmo assim, aos ainda interessados em utilizá-lo, será possível fazê-lo
através da instalação de um plugin.
RUBY ON RAILS
MV
C
CC
VV MM
GET http://localhost:3000
1
2
345
POR QUE RUBY ON
RAILS?
rails new shop
cd shop
rails server
POR QUE RUBY ON
RAILS?rails generate scaffold product name price:decimal
invoke active_record
create db/migrate/20121121093040_create_products.rb
create app/models/product.rb
invoke test_unit
create test/unit/product_test.rb
create test/fixtures/products.yml
invoke resource_route
route resources :products
invoke scaffold_controller
create app/controllers/products_controller.rb
invoke erb
create app/views/products
create app/views/products/index.html.erb
create app/views/products/edit.html.erb
create app/views/products/show.html.erb
create app/views/products/new.html.erb
create app/views/products/_form.html.erb
invoke test_unit
create test/functional/products_controller_test.rb
invoke helper
create app/helpers/products_helper.rb
invoke test_unit
create test/unit/helpers/products_helper_test.rb
invoke assets
...
POR QUE RUBY ON
RAILS?
POR QUE RUBY ON
RAILS?
POR QUE RUBY ON
RAILS?
POR QUE RUBY ON
RAILS?
QUEM JÁ ESTÁ “ON
RAILS”
“Talk is cheap, show me the code!”
Linus Torvalds

RoR Beta

  • 1.
    PROGRAMAÇÃO ÁGIL COMRUBY ON RAILS Breno Moura
  • 2.
  • 3.
    MANIFESTO ÁGIL Aceitar mudançasde requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas. Contínua atenção à excelência técnica e bom design, aumenta a agilidade. http://manifestoagil.com.br/principios.html
  • 4.
    RUBY • Criada em1995 porYukihiro “Matz” Matsumoto; • Tipagem Forte e Dinâmica; • Interpretada; • 100% orientada a objetos; • http://ruby-lang.org
  • 5.
  • 6.
    RUBY ON RAILS •Criada em 2004 por David Heinemeier Hansson; • Open Source; • Meta-framework; • Escalabilidade; • http://rubyonrails.org/
  • 7.
    O QUE ÉRUBY ON RAILS “Rails é o framework de desenvolvimento web mais bem bolado que eu já utilizei. E já faz mais de uma década que faço aplicações web para sobreviver. Eu construí meus próprios frameworks, ajudei a desenvolver a API Servlet, e criei muito mais que alguns poucos servidores web. Ninguém fez nada como o Rails antes.” -James Duncan Davidson, criador do Tomcat e do Ant “O que diferencia este framework de todos os outros é a preferência por convenção ao invés de configuração para tornar as aplicações mais fáceis de desenvolver e compreender.” -Sam Ruby, funcionário da IBM e diretor da Apache Software Foundation “Rails é a "killer app" do Ruby.” Yukihiro Matsumoto, criador do Ruby http://www.rubyonrails.com.br/citacoe
  • 8.
    RUBY ON RAILS Frameworkde frameworks Active Record O Active Record é uma camada de mapeamento objeto-relacional (object-relational mapping layer), responsável pela interoperabilidade entre a aplicação e o banco de dados e pela abstração dos dados. Action Pack Compreende o Action View (geração de visualização de usuário, como HTML, XML, JavaScript, entre outros) e o Action Controller (controle de fluxo de negócio).
  • 9.
    RUBY ON RAILS Frameworkde frameworks Action Mailer O Action Mailer é um framework responsável pelo serviço de entrega e até mesmo de recebimento de e-mails. É relativamente pequeno e simples, porém poderoso e capaz de realizar diversas operações apenas com chamadas de entrega de correspondência. Active Support Active Support é uma coleção de várias classes úteis e extensões de bibliotecas padrões, que foram considerados úteis para aplicações em Ruby on Rails.
  • 10.
    RUBY ON RAILS Frameworkde frameworks Active Webservices Provê uma maneira de publicar APIs interoperaveis com o Rails, sem a necessidade de perder tempo dentro de especificações de protocolo. Implementa WSDL e SOAP. O Action Web Service não estará mais presente na versão 2.0 no Rails, visto que o mesmo está voltando-se para a utilização do modelo REST. Mesmo assim, aos ainda interessados em utilizá-lo, será possível fazê-lo através da instalação de um plugin.
  • 11.
    RUBY ON RAILS MV C CC VVMM GET http://localhost:3000 1 2 345
  • 12.
    POR QUE RUBYON RAILS? rails new shop cd shop rails server
  • 13.
    POR QUE RUBYON RAILS?rails generate scaffold product name price:decimal invoke active_record create db/migrate/20121121093040_create_products.rb create app/models/product.rb invoke test_unit create test/unit/product_test.rb create test/fixtures/products.yml invoke resource_route route resources :products invoke scaffold_controller create app/controllers/products_controller.rb invoke erb create app/views/products create app/views/products/index.html.erb create app/views/products/edit.html.erb create app/views/products/show.html.erb create app/views/products/new.html.erb create app/views/products/_form.html.erb invoke test_unit create test/functional/products_controller_test.rb invoke helper create app/helpers/products_helper.rb invoke test_unit create test/unit/helpers/products_helper_test.rb invoke assets ...
  • 14.
    POR QUE RUBYON RAILS?
  • 15.
    POR QUE RUBYON RAILS?
  • 16.
    POR QUE RUBYON RAILS?
  • 17.
    POR QUE RUBYON RAILS?
  • 18.
    QUEM JÁ ESTÁ“ON RAILS”
  • 19.
    “Talk is cheap,show me the code!” Linus Torvalds

Notas do Editor

  • #3 IRC; Unit; Projetos OpenSource; Projetos Feitos; Nosso Lixo; Code2; Toze; PopCode
  • #4 Falar sobre migrations e organização de um projeto em Rails
  • #5 Mostrar que tudo é objeto no IRB; Mostrar ruby warrior;