SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Introdução ao Rails



26~30/01/2009 @ senac     Klaus Paiva
                        www.klaus.pro.br
O que é Rails?
  Framework para desenvolvimento web construído sobre
  a linguagem Ruby.

  Permite o desenvolvimento ágil de aplicações por
  assumir que várias características e funcionalidades são
  comuns a maioria das aplicações web.




 26~30/01/2009 @ senac     Klaus Paiva
                         www.klaus.pro.br
Princípio 1
  DRY. Don't repeat yourself:
  Sugere que a repetição ou duplicação de código é um
  indicador de que algo não está bom.




 26~30/01/2009 @ senac     Klaus Paiva
                         www.klaus.pro.br
Princípio 2
  Convention over configuration:
  Define que ao invés de exigir a configuração de toda a
  aplicação, o Rails assume algumas premissas que, se
  seguidas, permitem uma grande redução dos arquivos
  de configuração.




 26~30/01/2009 @ senac     Klaus Paiva
                         www.klaus.pro.br
Desenvolvimento web sem Rails




 26~30/01/2009 @ senac     Klaus Paiva
                         www.klaus.pro.br
Desenvolvimento web com Rails




 26~30/01/2009 @ senac     Klaus Paiva
                         www.klaus.pro.br
Arquitetura MVC
  O Rails é organizado em torno da arquitetura MVC:
       Model
       View
       Controller


  Vantagens:
       Separação da lógica de negócio da interface do sistema.
       Facilita a execução do princípio DRY.
       Permite deduzir aonde determinados códigos devem estar,
       facilitando a manutenção.



 26~30/01/2009 @ senac         Klaus Paiva
                             www.klaus.pro.br
M: Models
 Representa os dados (informações) de sua aplicação.
 Representa também as regras para acesso e
 manipulação desses dados.

 No caso geral, os Models possuem uma tabela
 correspondente no banco de dados do sistema.

 Boa parte das regras de negócio da aplicação estarão
 presentes nos Models.



26~30/01/2009 @ senac     Klaus Paiva
                        www.klaus.pro.br
V: Views
  Representam a interface da aplicação.

  Na maioria dos casos são compostos por elementos
  HTML mais instruções ERB (embedded Ruby).

  Responsáveis por gerenciar e montar as informações
  que serão repassadas ao navegador.




 26~30/01/2009 @ senac     Klaus Paiva
                         www.klaus.pro.br
C: Controllers
  Fazem o quot;meio de campoquot; entre os Models e as Views.

  Quando uma requisição chega até o Rails, o Controller
  vai atender essa requisição, pedindo as informações
  necessárias para os Models e delegando a apresentação
  para as Views.




 26~30/01/2009 @ senac     Klaus Paiva
                         www.klaus.pro.br
MVC




26~30/01/2009 @ senac     Klaus Paiva
                        www.klaus.pro.br
Componentes do Rails
 Action Controller
 Action View
 Active Record
 Action Mailer
 Active Resource
 Railties
 Active Support




26~30/01/2009 @ senac     Klaus Paiva
                        www.klaus.pro.br
Mão na massa!




26~30/01/2009 @ senac     Klaus Paiva
                        www.klaus.pro.br
O que vamos fazer?
  Uma aplicação que exibe locais de interesse comum.
       Parques
       Hotéis
       Baladas
       Restaurantes
       Shoppings
       etc...




 26~30/01/2009 @ senac     Klaus Paiva
                         www.klaus.pro.br
Quais os objetivos?
  Interface administrativa.

  Integração com Google Maps.

  URLs amigáveis.

  Espaço para comentários.

  Avaliação dos locais cadastrados. (rating)


 26~30/01/2009 @ senac      Klaus Paiva
                          www.klaus.pro.br
Referências
  http://guides.rubyonrails.org/getting_started_with_rails.html


  http://api.rubyonrails.org/


  http://www.akitaonrails.com/


  http://gettingreal.37signals.com/




 26~30/01/2009 @ senac               Klaus Paiva
                                   www.klaus.pro.br
Fotos: Créditos
  Slide 3: http://tinyurl.com/7rglfa
  Slide 4: http://tinyurl.com/95xhmb
  Slide 5: http://tinyurl.com/8g4cdb
  Slide 5: http://tinyurl.com/9pupqd
  Slide 6: http://tinyurl.com/8xboxl
  Slide 11: http://tinyurl.com/4rscd4
  Slide 13: http://tinyurl.com/7zezng
  Slide 14: http://tinyurl.com/724kq5
  Slide 16: http://tinyurl.com/7kh8by


 26~30/01/2009 @ senac     Klaus Paiva
                         www.klaus.pro.br

Contenu connexe

Similaire à Introducao ao Rails

Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-ptPedro Sousa
 
Tendências do Mercado de Internet
Tendências do Mercado de InternetTendências do Mercado de Internet
Tendências do Mercado de InternetVanessa Oliveira
 
Conheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCPConheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCPJose Nunes
 
Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Alexandre Tarifa
 
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADEAVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADEDavid Lojudice Sobrinho
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL Brasil
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Atividade integradora mod iii tec informatica 2016(1)
Atividade integradora mod iii tec informatica 2016(1)Atividade integradora mod iii tec informatica 2016(1)
Atividade integradora mod iii tec informatica 2016(1)marcondes da luz barros
 
Por que Apache CloudStack?
Por que Apache CloudStack?Por que Apache CloudStack?
Por que Apache CloudStack?Marco Sinhoreli
 

Similaire à Introducao ao Rails (20)

Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
 
Tendências do Mercado de Internet
Tendências do Mercado de InternetTendências do Mercado de Internet
Tendências do Mercado de Internet
 
Rails 03
Rails 03Rails 03
Rails 03
 
Conheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCPConheça o Cloud Foundry no HCP
Conheça o Cloud Foundry no HCP
 
Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010
 
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADEAVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
AVALIAÇÃO DE MODELOS DE ARQUITETURA DE WEB SITES DE ALTA ESCALABILIDADE
 
Ria
RiaRia
Ria
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
 
Apostila MVC
Apostila MVCApostila MVC
Apostila MVC
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Grails
GrailsGrails
Grails
 
Atividade integradora mod iii tec informatica 2016(1)
Atividade integradora mod iii tec informatica 2016(1)Atividade integradora mod iii tec informatica 2016(1)
Atividade integradora mod iii tec informatica 2016(1)
 
AOP - ESJUG - 2005
AOP - ESJUG - 2005AOP - ESJUG - 2005
AOP - ESJUG - 2005
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
Ufs na nuvem gp 2017-2
Ufs na nuvem   gp 2017-2 Ufs na nuvem   gp 2017-2
Ufs na nuvem gp 2017-2
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
Por que Apache CloudStack?
Por que Apache CloudStack?Por que Apache CloudStack?
Por que Apache CloudStack?
 

Introducao ao Rails

  • 1. Introdução ao Rails 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 2. O que é Rails? Framework para desenvolvimento web construído sobre a linguagem Ruby. Permite o desenvolvimento ágil de aplicações por assumir que várias características e funcionalidades são comuns a maioria das aplicações web. 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 3. Princípio 1 DRY. Don't repeat yourself: Sugere que a repetição ou duplicação de código é um indicador de que algo não está bom. 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 4. Princípio 2 Convention over configuration: Define que ao invés de exigir a configuração de toda a aplicação, o Rails assume algumas premissas que, se seguidas, permitem uma grande redução dos arquivos de configuração. 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 5. Desenvolvimento web sem Rails 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 6. Desenvolvimento web com Rails 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 7. Arquitetura MVC O Rails é organizado em torno da arquitetura MVC: Model View Controller Vantagens: Separação da lógica de negócio da interface do sistema. Facilita a execução do princípio DRY. Permite deduzir aonde determinados códigos devem estar, facilitando a manutenção. 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 8. M: Models Representa os dados (informações) de sua aplicação. Representa também as regras para acesso e manipulação desses dados. No caso geral, os Models possuem uma tabela correspondente no banco de dados do sistema. Boa parte das regras de negócio da aplicação estarão presentes nos Models. 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 9. V: Views Representam a interface da aplicação. Na maioria dos casos são compostos por elementos HTML mais instruções ERB (embedded Ruby). Responsáveis por gerenciar e montar as informações que serão repassadas ao navegador. 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 10. C: Controllers Fazem o quot;meio de campoquot; entre os Models e as Views. Quando uma requisição chega até o Rails, o Controller vai atender essa requisição, pedindo as informações necessárias para os Models e delegando a apresentação para as Views. 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 11. MVC 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 12. Componentes do Rails Action Controller Action View Active Record Action Mailer Active Resource Railties Active Support 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 13. Mão na massa! 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 14. O que vamos fazer? Uma aplicação que exibe locais de interesse comum. Parques Hotéis Baladas Restaurantes Shoppings etc... 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 15. Quais os objetivos? Interface administrativa. Integração com Google Maps. URLs amigáveis. Espaço para comentários. Avaliação dos locais cadastrados. (rating) 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 16. Referências http://guides.rubyonrails.org/getting_started_with_rails.html http://api.rubyonrails.org/ http://www.akitaonrails.com/ http://gettingreal.37signals.com/ 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br
  • 17. Fotos: Créditos Slide 3: http://tinyurl.com/7rglfa Slide 4: http://tinyurl.com/95xhmb Slide 5: http://tinyurl.com/8g4cdb Slide 5: http://tinyurl.com/9pupqd Slide 6: http://tinyurl.com/8xboxl Slide 11: http://tinyurl.com/4rscd4 Slide 13: http://tinyurl.com/7zezng Slide 14: http://tinyurl.com/724kq5 Slide 16: http://tinyurl.com/7kh8by 26~30/01/2009 @ senac Klaus Paiva www.klaus.pro.br