SlideShare uma empresa Scribd logo
Conhecendo o 
 Ruby on Rails




   Jony dos Santos Kostetzer
   http://jonysk.net  |  jony@jonysk.net
Antes de tudo…
   Ruby – Linguagem




   Rails – Framework
Ruby (visão geral)
   Criada em 1993 por Yukihiro “Matz” Matsumoto 
   Inspirada em Perl, Smalltalk, Ada, Eiffel, Lisp
   Tudo é objeto e retona um valor
   Tipagem dinâmica e forte
   Classes abertas
   Uso Intensivo de blocos
   Meta‐programação / geração de código em runtime
   Simplicidade, elegância
   Codifique menos, faça mais = Produtividade
Rails
   Framework (template) para aplicações web
   Criado em 2004 por David Heinemeier Hansson
   Extraído de uma aplicação real – Basecamp
   37Signals
   Open Source
Por que Rails?
   Vantagem principal: RUBY
   Simples e eficiente ‐ focado em resolver problemas reais

   Lei de Pareto ‐ 80/20
   AGILIDADE

   Provê o essencial – extensível por plugins

   Curva de aprendizado: você já inicia em uma arquitetura sólida.
   Comunidade extremamente ativa e vibrante

   PADRÕES E CONVENÇÕES 
Convention over configuration
      “Convenção ao invés de configuração”
Tradução de convention over configuration para desenvolvedores


                              Menos código



Créditos: Júlio Santos Monteiro
Tradução de convention over configuration para clientes


                              Menos tempo



Créditos: Júlio Santos Monteiro
Tradução de convention over configuration para vendedores


                                  Maior lucro



Créditos: Júlio Santos Monteiro
Don’t Repeat Yourself
  “Fazer uma vez, bem feito, e com testes”
Agile Development
“Processos iterativos, desenvolvimento incremental, etc”
Manifesto ágil
   Individuals and interactions over processes and tools
   Working software over comprehensive documentation
   Customer collaboration over contract negotiation
   Responding to change over following a plain 
Adaptar‐se à mudança não 
     pode ser caro!
     “Que seja feita a vontade do cliente”
Adaptar‐se à mudança não 
     pode ser caro!
     “Que seja feita a vontade do cliente”
Convenções ‐ MVC
   Divisão em camadas: o velho e onipresente “dividir 
    para conquistar”
   Model (Modelos) – Camada de regras de negócio
   Views – Camada de apresentação (qualquer formato)  
   Controller – Articulação entre models & views – 
    interpreta solicitação e invoca relacionados 
MVC no Rails
Rails ‐ Componentes
   ActiveRecord ‐ ORM
   ActiveResource ‐ REST Client
   ActionPack 
     ActionController
     ActionView

   ActionMailer
Helpers
   AJAX
   Efeitos visuais
   Formulários
   Assets (imagens, estilos)
   Cache
   Rotas
   + diversos helpers em plugins
Demonstração
Convenções ‐ REST

                Exibir/buscar   Criar    Alterar   Remover
REST/HTTP       GET             POST     PUT       DELETE

Rails  (actions) show           create   update    destroy

SQL             select          insert   update    delete
Testes
   Sofware x Acupuntura
   Diversos “sabores” e um objetivo.
   TestUnit
   Shoulda
   RSpec (User stories, Webrat, etc)
   Plugins para integração com Selenium, Watir , entre 
    outros.
Mercado
Empresas
BBC                    Oakley
CapGemini              NBC
BPN                    Siemens
NASA                   ThoughtWorks
Cisco                  Yahoo!
C|Net                  JohnDeere
EA (Electronic Arts)   New York Times
JP Morgan
Virtual Machines




                   ?!
     “MRI”
Deployment
   Servidores de aplicação
       FastCGI  
       Mongrel
       Thin
       Ebb
       Passenger (mod_rails – Apache)

   Servidores web
     Apache
     Lighttpd
     Nginx
Hospedagens
Projetos
   opensourcerails.com
   webdeveloper.econsultant.com/ruby‐rails‐projects‐
    sites
   rubyonrails.com/applications
   workingwithrails.com/browse/sites
   rails100.pbwiki.com
Rails100
Brasil




+ de 100 empresas brasileiras cadastradas no Working With Rails
Mercado
   Crescimento na utilização 
   Demanda por profissionais = + vagas
   Offshoring: economia + qualidade = oportunidades
   Bons salários
   Mercado brasileiro em ascenção
Utilização ‐ WWR
1.   Estados Unidos – 3018

2.   Inglaterra – 553

3.   Brasil – 458

4.   Índia – 415

5.   Alemanha – 344



•    Usuários registrados no Working with Rails ‐ 11635  
     (até 08/06/2008)
Aprendendo Ruby on Rails
Migrando
Mais informações
   rubyonrails.pro.br e rubyonrails.com 
     Podcasts
     Apresentações
     Informações gerais  

   akitaonrails.com.br
       Novidades e discussões em geral

   nomedojogo.com
       Novidades do Rails (Edge Rails)

   Google groups: rails‐br
Formação Desenvolvedor Web com 
           Ruby on Rails
                                • Linguagem SQL padrão ANSI – 20hrs
                                • Introdução à linguagem Ruby – 20hrs
                                • Ruby on Rails prático – 40hrs

                            Próxima turma aos sábados em São Leopoldo!

www.unisinos.br/institutoinf 
institutoinf@unisinos.br 
Fone: (51) 3328‐ 2221




              MATRICULAS ABERTAS!
Duvidas?
jonysk.net |  jony@jonysk.net

Mais conteúdo relacionado

Semelhante a Conhecendo o Ruby on Rails

ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
elliando dias
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
brunoaalves
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
Agence Educacional
 
[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
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o Mercado
Julio Monteiro
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Éberli Cabistani Riella
 
React nos Trilhos
React nos TrilhosReact nos Trilhos
React nos Trilhos
John Carneiro
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
Norberto Santos
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
Qualister
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
Guilherme Carlos
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
thiagolima
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
tdc-globalcode
 
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Danilo Sato
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
Jaydson Gomes
 
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
Gabriel Molter
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Alexandre Tarifa
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
Opakus - Soluções Inteligentes
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejista
José Roberto Araújo
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
Diego Pacheco
 
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Felipe Nascimento
 

Semelhante a Conhecendo o Ruby on Rails (20)

ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 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 ...
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o Mercado
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
 
React nos Trilhos
React nos TrilhosReact nos Trilhos
React nos Trilhos
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
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
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejista
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
 

Último

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 

Último (7)

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 

Conhecendo o Ruby on Rails