Reutilização de Código
  com Ruby on Rails

      Rodrigo Urubatan
Sobre Urubatan

Trabalho com desenvolvimento desde 1997, já desenvolvi
  sistemas em diversas linguagens, como Delphi, C, C++,
  PHP, ASP, ColdFusion, Assembly, Leather, Java e Ruby.
Atualmente trabalho com pesquisa e desenvolvimento na HP,
  utilizando principalmente Java, e com Ruby em outros
  projetos e cursos.
Alem de ser o autor do livro "Ruby On Rails: Desenvolvimento
  fácil e Rápido de aplicações web"
Reutilizar tudo?




   Não!
O que vale a pena reutilizar?
• Sempre que você escrever o mesmo código mais
  de duas vezes
• Sempre que algo for necessário em mais de um
  projeto
• Sempre que você puder vender parte do código
Projeto Exemplo

• Sistema de gerenciamento de projetos
        • Código de Login igual a outras
          aplicações
        • Código muito parecido em todos
          os controladores
        • Alguns recursos dos modelos
          poderiam ser generalizados
Criando um plugin Básico
• Compartilhando código dos controladores com
  outros projetos
• Reutilizando lógica de um Model (criando um
  plugin tipo “act_as”
Transformando um plugin em uma Gem

• O que é uma Gem
• Por que é mais fácil compartilhar utilizando uma
  Gem
• Como transformar um plugin em uma Gem
• Quais as vantagens
Compartilhando Views
•   Compartilhando todo o código de login
•   Introdução a Rails “Engine”
•   Compartilhando Controladores
•   Compartilhando Views
•   Compartilhando Models
•   Deixando ganchos para costumização
Reuso De Código Com Rails
Referências

•   Meu livro - http://livro.urubatan.com.br
•   Meu blog - http://www.urubatan.com.br
•   Ruby On Rails - http://www.rubyonrails.org
•   Ruby On Rails Brasil - http://www.rubyonrails.pro.br
•   RubyOnBr - http://www.rubyonbr.org/

Mais conteúdo relacionado

PPT
Reutilização de código em aplicações Rails: Plugins, Gem e Engines
PDF
Gerenciando Projetos Com Ruby On Rails
PDF
Palestra ror edted
PDF
Design para WordPress- Anyssa Ferreira - WordCamp BH 2015
PPT
Desenvolvimento Ágil com Ruby on Rails
PPTX
WordCampBH 2015 - O mínimo essencial para o bom desempenho do seu projeto em ...
PDF
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
PPTX
TDC SP 2015 - Criando Web Apps Real Time com AngularJs e Firebase
Reutilização de código em aplicações Rails: Plugins, Gem e Engines
Gerenciando Projetos Com Ruby On Rails
Palestra ror edted
Design para WordPress- Anyssa Ferreira - WordCamp BH 2015
Desenvolvimento Ágil com Ruby on Rails
WordCampBH 2015 - O mínimo essencial para o bom desempenho do seu projeto em ...
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
TDC SP 2015 - Criando Web Apps Real Time com AngularJs e Firebase

Mais procurados (20)

PPTX
Método The bridge
PDF
WordPress para Gestores de Conteúdo - WordCamp BH 2015
PPTX
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
PDF
Do marketplace ao WordPress - WordCamp BH 2015
PPTX
Introdução ao Native Script
PPTX
ASP.NET MVC Core
PPTX
ASP.NET Core APIs: Performance Tips
PDF
Blazor #SnetTalks3
PPTX
Write once, run "everywhere"
PPTX
Novidades do ASP.NET MVC 4
PPTX
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...
PPTX
Progressive Web Apps: Um novo mundo
PPTX
Componentizando a Web com Polymer
PDF
Desenvolvendo uma aplicacao Full Javascript
PPTX
A Evolução do Front end
PPTX
Groovy e Grails 2
PPTX
9 erros que desenvolvedores Node.js cometem
PPTX
A importância de padronizar nosso CSS
PPTX
Clojure
ODP
PHP + Node.js
Método The bridge
WordPress para Gestores de Conteúdo - WordCamp BH 2015
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
Do marketplace ao WordPress - WordCamp BH 2015
Introdução ao Native Script
ASP.NET MVC Core
ASP.NET Core APIs: Performance Tips
Blazor #SnetTalks3
Write once, run "everywhere"
Novidades do ASP.NET MVC 4
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...
Progressive Web Apps: Um novo mundo
Componentizando a Web com Polymer
Desenvolvendo uma aplicacao Full Javascript
A Evolução do Front end
Groovy e Grails 2
9 erros que desenvolvedores Node.js cometem
A importância de padronizar nosso CSS
Clojure
PHP + Node.js
Anúncio

Destaque (20)

PPT
Trabalho Sobre O Dia Da Mae 6 D
PPT
3a. e. munch el crit
PDF
Presentation of Dominos future plans
PDF
Schooling. cognitive ability or emotional well being
PPS
Africa op
PPT
Les arts figuratives al s. xix romanticisme i realisme
PPTX
Energizing Brand Advocates in the Travel Industry
PPS
Dozerim nerede
PPTX
Plano de Negócio LiveOn
PPT
As Relações Empresa Governo na Espanha e na América Latina
DOC
Manager Match Report Sample 5 24 07[1]
PDF
Gestão, Informação e Conhecimento Corporativo
PPTX
Computación (presentación a padres de familia)
PPS
Aluna Rosa
PDF
The Cybercom Guide to Discovering NYC
PPT
Почтофон
PPTX
Правни аспекти на мобилния маркетинг
PPTX
Observacion
DOC
Mini Teste3 Cores
PDF
Habilitando novas capacidades na gestão da inovação
Trabalho Sobre O Dia Da Mae 6 D
3a. e. munch el crit
Presentation of Dominos future plans
Schooling. cognitive ability or emotional well being
Africa op
Les arts figuratives al s. xix romanticisme i realisme
Energizing Brand Advocates in the Travel Industry
Dozerim nerede
Plano de Negócio LiveOn
As Relações Empresa Governo na Espanha e na América Latina
Manager Match Report Sample 5 24 07[1]
Gestão, Informação e Conhecimento Corporativo
Computación (presentación a padres de familia)
Aluna Rosa
The Cybercom Guide to Discovering NYC
Почтофон
Правни аспекти на мобилния маркетинг
Observacion
Mini Teste3 Cores
Habilitando novas capacidades na gestão da inovação
Anúncio

Semelhante a Reuso De Código Com Rails (20)

PDF
Palestra Desenvolvimento Ágil para Web com ROR UVA
PDF
Esta começando a programar para a web? Então começe com Rails
KEY
Desenvolvimento Ágil com Rails GURUSC 2011
PDF
Rails na pratica
PDF
Minicurso Ruby on Rails - Wake Up Systems
PDF
Ruby On Rails - Porque Utilizar?
PPT
ruby on rails e o mercado
PDF
Curso de Ruby on Rails - Aula 01
PDF
Ruby on rails porque usar rails?!
PPTX
Ruby e Rails
PPTX
Curso de Ruby on Rails
PDF
Ruby & Rails
PPTX
Mini curso rails 3
PDF
Desenvolvimento web ágil e descomplicado usando ruby on rails
PDF
Introdução ao Ruby on Rails
PDF
Ruby On Rails
ODP
Palestra Faculdade Lourenço Filho
PDF
Introdução ao Rails (Linguagil)
PDF
Ruby on Rails
PPT
Introdução ao Ruby on Rails (SOCIESC)
Palestra Desenvolvimento Ágil para Web com ROR UVA
Esta começando a programar para a web? Então começe com Rails
Desenvolvimento Ágil com Rails GURUSC 2011
Rails na pratica
Minicurso Ruby on Rails - Wake Up Systems
Ruby On Rails - Porque Utilizar?
ruby on rails e o mercado
Curso de Ruby on Rails - Aula 01
Ruby on rails porque usar rails?!
Ruby e Rails
Curso de Ruby on Rails
Ruby & Rails
Mini curso rails 3
Desenvolvimento web ágil e descomplicado usando ruby on rails
Introdução ao Ruby on Rails
Ruby On Rails
Palestra Faculdade Lourenço Filho
Introdução ao Rails (Linguagil)
Ruby on Rails
Introdução ao Ruby on Rails (SOCIESC)

Mais de Rodrigo Urubatan (20)

PPTX
Ruby code smells
PPTX
Data science in ruby is it possible? is it fast? should we use it?
PDF
Data science in ruby, is it possible? is it fast? should we use it?
PPTX
2018 the conf put git to work - increase the quality of your rails project...
PPTX
2018 RubyHACK: put git to work - increase the quality of your rails project...
PDF
TDC2017 - POA - Aprendendo a usar Xamarin para desenvolver aplicações moveis ...
PDF
Your first game with unity3d framework
PDF
Tdc Floripa 2017 - 8 falácias da programação distribuída
PPTX
Rubyconf2016 - Solving communication problems in distributed teams with BDD
PDF
resolvendo problemas de comunicação em equipes distribuídas com bdd
PDF
vantagens e desvantagens de trabalhar remoto
PDF
Using BDD to Solve communication problems
PDF
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
PDF
Interfaces ricas com Rails e React.JS @ Rubyconf 2015
PDF
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
PDF
Full Text Search com Solr, MySQL Full text e PostgreSQL Full Text
PDF
Ruby para programadores java
PPTX
Treinamento html5, css e java script apresentado na HP
PPTX
Ruby on rails impressione a você mesmo, seu chefe e seu cliente
PPT
Aplicações Hibridas com Phonegap e HTML5
Ruby code smells
Data science in ruby is it possible? is it fast? should we use it?
Data science in ruby, is it possible? is it fast? should we use it?
2018 the conf put git to work - increase the quality of your rails project...
2018 RubyHACK: put git to work - increase the quality of your rails project...
TDC2017 - POA - Aprendendo a usar Xamarin para desenvolver aplicações moveis ...
Your first game with unity3d framework
Tdc Floripa 2017 - 8 falácias da programação distribuída
Rubyconf2016 - Solving communication problems in distributed teams with BDD
resolvendo problemas de comunicação em equipes distribuídas com bdd
vantagens e desvantagens de trabalhar remoto
Using BDD to Solve communication problems
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
Interfaces ricas com Rails e React.JS @ Rubyconf 2015
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
Full Text Search com Solr, MySQL Full text e PostgreSQL Full Text
Ruby para programadores java
Treinamento html5, css e java script apresentado na HP
Ruby on rails impressione a você mesmo, seu chefe e seu cliente
Aplicações Hibridas com Phonegap e HTML5

Último (20)

PDF
Capacitação em Logística – Instituto Federal
PPTX
Modelo para Qualificação de Mestrado - Tecnologia da Informação
PPTX
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
PDF
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
PPTX
Politicas-de-Seguranca-Privacidade-e-Cookies.pptx
PDF
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
PDF
instalacoes eletricas para industria apressentacao basicas
PPTX
ccursoammaiacursoammaiacursoammaia123456
PPT
Padrões de Beleza I - Estética Corporal e Saúde
PDF
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
PPT
Redes de Computadores - apresenta~~ç]ao para estudos
PPT
01 - Arquitetura de Computadores 1 TEC [Salvo automaticamente].ppt
PDF
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
PPTX
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
PPTX
CONHECENDO O SISTEMA FEDORA - MANUAL DE USO
PPTX
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
Do código à carreira: O Profissional de TI que o mercado realmente quer - com...
PDF
resumo de instalação de placa arduino em jardim vertical para fertirrigação
Capacitação em Logística – Instituto Federal
Modelo para Qualificação de Mestrado - Tecnologia da Informação
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
Politicas-de-Seguranca-Privacidade-e-Cookies.pptx
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
instalacoes eletricas para industria apressentacao basicas
ccursoammaiacursoammaiacursoammaia123456
Padrões de Beleza I - Estética Corporal e Saúde
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
Redes de Computadores - apresenta~~ç]ao para estudos
01 - Arquitetura de Computadores 1 TEC [Salvo automaticamente].ppt
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
CONHECENDO O SISTEMA FEDORA - MANUAL DE USO
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
Processos no SAP Extended Warehouse Management, EWM100 Col26
Do código à carreira: O Profissional de TI que o mercado realmente quer - com...
resumo de instalação de placa arduino em jardim vertical para fertirrigação

Reuso De Código Com Rails

  • 1. Reutilização de Código com Ruby on Rails Rodrigo Urubatan
  • 2. Sobre Urubatan Trabalho com desenvolvimento desde 1997, já desenvolvi sistemas em diversas linguagens, como Delphi, C, C++, PHP, ASP, ColdFusion, Assembly, Leather, Java e Ruby. Atualmente trabalho com pesquisa e desenvolvimento na HP, utilizando principalmente Java, e com Ruby em outros projetos e cursos. Alem de ser o autor do livro "Ruby On Rails: Desenvolvimento fácil e Rápido de aplicações web"
  • 4. O que vale a pena reutilizar? • Sempre que você escrever o mesmo código mais de duas vezes • Sempre que algo for necessário em mais de um projeto • Sempre que você puder vender parte do código
  • 5. Projeto Exemplo • Sistema de gerenciamento de projetos • Código de Login igual a outras aplicações • Código muito parecido em todos os controladores • Alguns recursos dos modelos poderiam ser generalizados
  • 6. Criando um plugin Básico • Compartilhando código dos controladores com outros projetos • Reutilizando lógica de um Model (criando um plugin tipo “act_as”
  • 7. Transformando um plugin em uma Gem • O que é uma Gem • Por que é mais fácil compartilhar utilizando uma Gem • Como transformar um plugin em uma Gem • Quais as vantagens
  • 8. Compartilhando Views • Compartilhando todo o código de login • Introdução a Rails “Engine” • Compartilhando Controladores • Compartilhando Views • Compartilhando Models • Deixando ganchos para costumização
  • 10. Referências • Meu livro - http://livro.urubatan.com.br • Meu blog - http://www.urubatan.com.br • Ruby On Rails - http://www.rubyonrails.org • Ruby On Rails Brasil - http://www.rubyonrails.pro.br • RubyOnBr - http://www.rubyonbr.org/