SlideShare uma empresa Scribd logo
Café com Java
             11/02/2012



Desenvolvimento ágil de software com

     Ruby on Rails
          Lucas Catón
Quem sou eu?

    Lucas Catón
    Bacharel em Sistemas de Informação
    Desenvolvedor Ruby on Rails há 3 anos




http://blog.lucascaton.com.br       @lucascaton
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Antes que me atirem pedras...
Eu já fui programador Java...
Até que eu descobri o Ruby...
Mas eu não vim aqui dizer que:
       Ruby > Java!
Só vim dizer que Ruby...




...me fez um dev mais feliz!
Ruby on Rails
Linguagem de programação   Framework web
O que o Ruby tem de tão especial?
Interpretada
Não é necessário compilar o código!

Dinâmica
Em tempo de execução, é possível: Adicionar novo código,
extender classes, extender objetos, alterar o sistema de tipos.

Multi-paradigma
Orientada a objetos, funcional, permite programação imperativa.

Open-source
Você pode: olhar o código, estudar o código, alterar o código e
ainda melhorar o código.
E mais importante que isso tudo...

    Não precisa de “ponto e vírgula”!
Sintaxe expressíva
      Diga muito!

      Seja claro!

 Escreva menos código!
Exemplo:

    Imprimir somente pares
entre 1 e um número qualquer.
C
#include <stdio.h>
void imprime_pares(int limite)
{
  int i;
  for(i = 1; i < = limite; i++)
    if(i%2 == 0)
      printf("%dn", i);
}
Java
public void imprime_pares(int limite){
  for(int i = 1; i <= limite; i++)
    if(i%2 == 0)
      System.out.println(i);
}
Ruby
def imprime_pares(limite)
  1.upto(limite) {|i| puts i if i%2 == 0}
end
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Tudo é um objeto!
1.class                   => Fixnum
1.5.class                 => Float

0.zero?                   => true
1.zero?                   => false

[1,2,3].class             => Array
[4,8].respond_to? :sort   => true

1.methods                 => lista de métodos
5.+(1)                    => 6
true e false também são objetos!



true.class    => TrueClass

false.class   => FalseClass
Até o nil é um objeto!

nil.class   => NilClass

a = nil
a.nil?      =>   true
a.methods   =>   lista de métodos
a.to_s      =>   ""
a.to_i      =>   0

a.sort      => NoMethodError:
                 undefined method `sort' for nil:NilClass
Desenvolvimento ágil de software com Ruby on Rails
Metaprogramação
class Foo
end

Foo.class_eval do
  define_method("novo_metodo") do |arg|
      puts arg
  end
end

f = Foo.new
f.novo_metodo("123")
# 123
Desenvolvimento ágil de software com Ruby on Rails
O que o Rails tem de tão especial?
MVC

Model - View - Controller
Ajuda a aplicar a filosofia DRY:

“Don’t repear yourself”
REST
  pattern for web apps

    Verbos HTTP:
GET, POST, PUT, DELETE
Convention over configuration

(Convenção ao invés de configuração)
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Antes...
Projeto (10%)        Código (90%)
0     25        50      75      100
Depois...
Projeto (40%)        Código (60%)
0     25        50      75      100
Rails == desenvolvimento ágil
3 ambientes:

 development
  production
     test
Já vem pronto!

Rails é um metaframework.
Action Pack
                      Active Resource
Controllers & Views
                      RESTful web services

 Action Mailer
                      Active Support
  E-mail services
                        Utility classes

 Active Model
                          Railties
+ Active Record
                        Core Rails code
      ORM
Documentação MUITO boa!
Conclusão:

A linguagem é divertida!

O Ruby on Rails já vem pronto pra uso!

Roda em qualquer plataforma!

A comunidade é forte!

O mercado está quente!
Ou seja...
Links interessantes:
Ruby a partir de Java
http://www.ruby-lang.org/pt/documentacao/ruby-a-partir-de-outras-
linguagens/para-ruby-a-partir-de-java/


Guru-SP
https://groups.google.com/group/ruby-sp


Ruby Brasil
http://ruby-br.org/


Ruby Inside
http://www.rubyinside.com/
Dúvidas?
Obrigado!
http://blog.lucascaton.com.br
        @lucascaton

Mais conteúdo relacionado

PDF
Curso javascript básico
PPTX
Desvendando a linguagem JavaScript
PDF
Groovy stack
PDF
Javascript Orientado a Objetos - Fisl12
ODP
tmn - Introdução ao JavaScript
PPT
Introdução a Ruby on Rails
PDF
Conhecendo o Java 8
PDF
Desmistificando o JavaScript
Curso javascript básico
Desvendando a linguagem JavaScript
Groovy stack
Javascript Orientado a Objetos - Fisl12
tmn - Introdução ao JavaScript
Introdução a Ruby on Rails
Conhecendo o Java 8
Desmistificando o JavaScript

Mais procurados (20)

PDF
JavaFX 8, Collections e Lambdas
PDF
Curso JavaScript - Aula de Introdução como Programar
PPT
Prazer,Ruby On Rails
PDF
Introdução JavaScript e DOM 2016
PDF
Laravel + Vue: Como começar
PPTX
Javascript OO
PDF
Aprender Javascript e jQuery (UFCD
PPTX
Tutorial JavaFX simples
PDF
Aula 02 POO - Meu Primeiro Código
PPT
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
PDF
Aula 01 - POO - Bem Vindo a Objetolândia!
PDF
Delphi Conference 2012 - Programação Baseado em Regras com RTTI
PPT
ruby on rails e o mercado
PDF
Primeiros passos com a API do Zabbix - Webinar JLCP
PDF
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
PDF
Criando websites a jato com Django
PDF
React para pensar além do Ruby
PPTX
Aula 1 - Seja um programador Java
PPTX
Javascript: primeiros passos
PDF
JavaFX 2 - TDC 2012
JavaFX 8, Collections e Lambdas
Curso JavaScript - Aula de Introdução como Programar
Prazer,Ruby On Rails
Introdução JavaScript e DOM 2016
Laravel + Vue: Como começar
Javascript OO
Aprender Javascript e jQuery (UFCD
Tutorial JavaFX simples
Aula 02 POO - Meu Primeiro Código
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
Aula 01 - POO - Bem Vindo a Objetolândia!
Delphi Conference 2012 - Programação Baseado em Regras com RTTI
ruby on rails e o mercado
Primeiros passos com a API do Zabbix - Webinar JLCP
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Criando websites a jato com Django
React para pensar além do Ruby
Aula 1 - Seja um programador Java
Javascript: primeiros passos
JavaFX 2 - TDC 2012
Anúncio

Destaque (20)

KEY
A ferramenta ideal: uma questão de perspectiva.
PPT
JRuby - Explorando um mundo de possibilidades
PDF
Palestra Ruby on Rails SETA 2008/01
PDF
Caelum ruby-on-rails-rr71
PDF
SEA Rails na pratica
PPT
Mini-curso RoR - Apresentação
PDF
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
PDF
Esta começando a programar para a web? Então começe com Rails
ODP
Introdução ao Desenvolvimento WEB com Ruby on Rails
PDF
Introdução ao Ruby On Rails
PPT
Django: Uso de frameworks ágeis para desenvolvimento web
PPT
Mini-curso RoR - Aula 01
ODP
Introducao ao Ruby On Rails
PPTX
Segurança em Rails
KEY
Desenvolvimento Ágil com Rails GURUSC 2011
PDF
Rails na pratica
PDF
Apresentação ruby + rails 2014
PPSX
Conhecendo o Django
PDF
Django: desenvolvendo aplicações web de maneira simples e rápida!
PDF
Introdução a Linguagem de Programação Ruby
A ferramenta ideal: uma questão de perspectiva.
JRuby - Explorando um mundo de possibilidades
Palestra Ruby on Rails SETA 2008/01
Caelum ruby-on-rails-rr71
SEA Rails na pratica
Mini-curso RoR - Apresentação
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
Esta começando a programar para a web? Então começe com Rails
Introdução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Ruby On Rails
Django: Uso de frameworks ágeis para desenvolvimento web
Mini-curso RoR - Aula 01
Introducao ao Ruby On Rails
Segurança em Rails
Desenvolvimento Ágil com Rails GURUSC 2011
Rails na pratica
Apresentação ruby + rails 2014
Conhecendo o Django
Django: desenvolvendo aplicações web de maneira simples e rápida!
Introdução a Linguagem de Programação Ruby
Anúncio

Semelhante a Desenvolvimento ágil de software com Ruby on Rails (20)

PDF
Ruby & Rails
PDF
Palestra Desenvolvimento Ágil para Web com ROR UVA
PDF
Desenvolvimento web com Ruby on Rails (parte 1)
PDF
Minicurso de Rails - WTISC 2014
PDF
Rails - EXATEC2009
ODP
Palestra Faculdade Lourenço Filho
PPTX
Apresentação faef
PDF
Ruby and Rails intro
PDF
Quick introduction to Ruby on Rails
PPTX
Java e orientação a objetos
PDF
Ruby, Rails e Diversão (Campus Party Brasil 2009)
PPTX
Programando php com excelência
PPT
Ruby on Rails e o Mercado
PDF
Introdução ao Ruby on Rails
PDF
Ruby on Rails: Produtividade e diversão na web
PPT
Ruby on rails
PDF
Desenvolvimento web ágil e descomplicado usando ruby on rails
ODP
Minicurso Ruby on Rails Dextra
PPTX
Ruby e Rails
PDF
Três anos de Scala no NewsMonitor
Ruby & Rails
Palestra Desenvolvimento Ágil para Web com ROR UVA
Desenvolvimento web com Ruby on Rails (parte 1)
Minicurso de Rails - WTISC 2014
Rails - EXATEC2009
Palestra Faculdade Lourenço Filho
Apresentação faef
Ruby and Rails intro
Quick introduction to Ruby on Rails
Java e orientação a objetos
Ruby, Rails e Diversão (Campus Party Brasil 2009)
Programando php com excelência
Ruby on Rails e o Mercado
Introdução ao Ruby on Rails
Ruby on Rails: Produtividade e diversão na web
Ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on rails
Minicurso Ruby on Rails Dextra
Ruby e Rails
Três anos de Scala no NewsMonitor

Desenvolvimento ágil de software com Ruby on Rails