SlideShare uma empresa Scribd logo
1 de 106
Baixar para ler offline
Ruby on Rails
    produtividade e diversão na web




                  Rodrigo Manhães
      Núcleo de Pesquisa em Sistemas de Informação/IFF
          Laboratório de Ciências Matemáticas/UENF
          Gerência de Recursos   Computacionais/UENF
programar para a web é...




              
divertido?




     
produtivo?




     
     
     
               
    http://rubyonrails.org
                 
    http://rubyonrails.pro.br
     
linguagem dinâmica




             
linguagem dinâmica
      expressividade




             
linguagem dinâmica
          expressividade
    tudo são objetos (mesmo!)




                 
linguagem dinâmica
          expressividade
    tudo são objetos (mesmo!)
        metaprogramação




                 
linguagem dinâmica
          expressividade
    tudo são objetos (mesmo!)
        metaprogramação
         classes abertas




                 
linguagem dinâmica
            expressividade
      tudo são objetos (mesmo!)
           metaprogramação
            classes abertas
    vários modos de fazer as coisas


                    
linguagem dinâmica
            expressividade
      tudo são objetos (mesmo!)
           metaprogramação
            classes abertas
    vários modos de fazer as coisas
      princípio da menor surpresa

                    
linguagem dinâmica
            expressividade
      tudo são objetos (mesmo!)
           metaprogramação
            classes abertas
    vários modos de fazer as coisas
      princípio da menor surpresa

 
          alta extensibilidade
                    
     
HARMONIA



        
     
     
model-view-controller




               
model-view-controller
           restful




               
model-view-controller
           restful
         full-stack




               
model-view-controller
           restful
          full-stack
      alta produtividade




               
model-view-controller
             restful
           full-stack
       alta produtividade
    ideal para projetos ágeis



                 
model-view-controller
                 restful
               full-stack
           alta produtividade
        ideal para projetos ágeis
    grande número de plugins e gems

                     
model-view-controller
                 restful
               full-stack
           alta produtividade
        ideal para projetos ágeis
    grande número de plugins e gems
     comunidade atuante e produtiva
                     
model-view-controller
                 restful
               full-stack
           alta produtividade
        ideal para projetos ágeis
    grande número de plugins e gems
     comunidade atuante e produtiva
 
             software livre
                    
     
     
     
     
new.html.erb




     
app/views/produtos/new.haml




          
app/views/produtos/new.html.erb




              
app/controllers/produtos_controller.rb




                   
     
app/controllers/produtos_controller.rb




                    
app/models/produto.rb




     
convenção mais que configuração




                    
app/views/produtos/new.html.erb




              
app/views/produtos/new.html.erb




              
app/controllers/produtos_controller.rb




                    
app/models/produto.rb




     
app/models/produto.rb




     
app/models/produto.rb




     
     
     
app/models/produto.rb




     
app/models/produto.rb




     
     
configuração zero




             
convenções




         
DRY


    don't repeat yourself




               
app/models/produto.rb




     
     
     
     
simplicidade


    o modo Ryby/Rails de fazer as coisas




                      
máquina de estado




             
acts_as_state_machine




               
autorização




          
acl9




      
paginação




         
will_paginate




           
     
desenvolvimento


            rápido




     
sem compilação



        sem deployment



         sem reiniciar
           servidor
     
 
    http://agilemanifesto.org
                 
     
     
behaviour-driven development




                  
     
     
     
...e quem usa?




           
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
e onde aprender?




            
                    
    http://guias.rubyonrails.pro.br
                             
    http://www.caelum.com.br/curso/rr-71-ruby-on-rails
    http://railscasts.com
                
                 
    http://why.nomedojogo.com
             
    http://tryruby.org
                  
    http://www.rubyinside.com.br
                          
    http://aprendaaprogramar.rubyonrails.pro.br
     
     
     
imagens
(5) http://www.flickr.com/photos/redjar/113152393/
(6) http://www.flickr.com/photos/hugo90/4139409680
(18) http://www.flickr.com/photos/linkq/3413681899
(48) http://www.flickr.com/photos/mindonfire/4331340795
(57) http://www.flickr.com/photos/elixir/193006773
(58) http://www.flickr.com/photos/topgold/312364
(59) http://www.flickr.com/photos/kmndr/3028471260
(68 e 69) http://www.flickr.com/photos/az1172/3841143960
(75) http://www.flickr.com/photos/oskay/265899811
(76) http://slideshare.net/felipernb/php-no-coisa-de-moleque-
presentation
(104) http://www.flickr.com/photos/yogendra174/4358242305


                                    
eu na web

Github: http://github.com/rodrigomanhaes


Slideshare: http://www.slideshare.net/rodrigomanhaes


Twitter: http://www.twitter.com/rodrigomanhaes


Blog (volta em breve!): http://programacaoradical.blogspot.com


Blog não técnico: http://fanatismoindeciso.blogspot.com


E-mail: rmanhaes@gmail.com


                                 

Mais conteúdo relacionado

Destaque

Desenvolvendo DSLs Em Python
Desenvolvendo DSLs Em PythonDesenvolvendo DSLs Em Python
Desenvolvendo DSLs Em PythonRodrigo Manhães
 
Test-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on RailsTest-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on RailsRodrigo Manhães
 
Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)Scott Wlaschin
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

Destaque (6)

Desenvolvendo DSLs Em Python
Desenvolvendo DSLs Em PythonDesenvolvendo DSLs Em Python
Desenvolvendo DSLs Em Python
 
Test-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on RailsTest-Driven Development com Ruby on Rails
Test-Driven Development com Ruby on Rails
 
Twittando Com Python
Twittando Com PythonTwittando Com Python
Twittando Com Python
 
Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

Semelhante a Ruby on Rails: Produtividade e diversão na web

Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filhorafarubert
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsLucas Caton
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Andre Bernardes
 
Atualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xAtualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xRodrigo Urubatan
 
Ruby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaRuby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaGabriel Molter
 
Desenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on railsDesenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on railsMaurício Linhares
 
Ruby e Rails
Ruby e RailsRuby e Rails
Ruby e Railss4nx
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLtarginosilveira
 
Desenvolvimento Ágil com CMS Joomla!
Desenvolvimento Ágil com CMS Joomla!Desenvolvimento Ágil com CMS Joomla!
Desenvolvimento Ágil com CMS Joomla!Bruno Batista
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On RailsAndre Ferraro
 
Gerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsGerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsRodrigo Urubatan
 

Semelhante a Ruby on Rails: Produtividade e diversão na web (20)

Palestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço FilhoPalestra Faculdade Lourenço Filho
Palestra Faculdade Lourenço Filho
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
 
Web open source
Web open sourceWeb open source
Web open source
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011
 
Atualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.xAtualizando rails do 2.x para 3.x
Atualizando rails do 2.x para 3.x
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
 
Ruby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaRuby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e Prática
 
Desenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on railsDesenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on rails
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Ruby e Rails
Ruby e RailsRuby e Rails
Ruby e Rails
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOL
 
Desenvolvimento Ágil com CMS Joomla!
Desenvolvimento Ágil com CMS Joomla!Desenvolvimento Ágil com CMS Joomla!
Desenvolvimento Ágil com CMS Joomla!
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On Rails
 
Gerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsGerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On Rails
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 

Ruby on Rails: Produtividade e diversão na web