SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Desenvolvimento ágil
            Com Ruby on Rails




a apresentação já vai começar...
Quem somos nozes?
• Rogério Chaves
 • twitter.com/_rchaves_
 • facebook.com/rogerio.chaves
•   Victor Hugo

•   facebook.com/viictoor.huugo
Quem usa Rails?
O que é Ruby?
 • Linguagem de programação de alto nível
Olá Mundo em Java        Olá Mundo em Ruby
Tornar as coisas simples
   fáceis e as coisas
 complexas possíveis
        Filosofia Ruby
Se um código em Ruby está
feio é porque está errado
    Yukihiro “Matz” - Criador do Ruby
O que é Rails?

• Framework para a web construído sobre o
  Ruby, que utiliza conceitos como
  Convention Over Configuration, MVC,
  DRY, KISS e REST.
ahm?
O que é Rails?

• Um conjunto de códigos, técnicas e
  padrões para se desenvolver aplicações
  para a web utilizando a linguagem Ruby
• Utiliza vários conceitos de
  desenvolvimento ágil e de Web 2.0
E o que eu ganho com isso?

• Agilidade
• Facilidade
• Testabilidade
• Manutenibilidade
• Diversão
Você vai precisar de:

• Qualquer sistema operacional
• Ruby 1.8.7 ou superior
• Rubygems
• Executar o comando “gem install rails”
Conceitos
Convention over
         Configuration



• Pressupõe as configurações, ganhando
  simplicidade sem perder flexibilidade
MVC


• Modelo, Visualização e
  Controlador
  (Entidade, Fronteira, Persistência)
DRY


• Don’t Repeat Yourself
• Cada porção do sistema deve ter uma
  representação única, livre de ambiguidades
KISS


• Keep It Simple Stupid
• Nada de gambiarras
REST
• Técnica de Engenharia de Software para
  sistemas hipermídia distribuídos como a
  World Wide Web (fonte: wikipedia)
Layouts

• Facilidade para criar vários layouts para um
  mesmo projeto
• Pouquíssimo HTML em todas as outras
  páginas
Migrações


• O código de criação de banco é em Ruby,
  não em SQL
• Adaptável com qualquer banco de dados
Gems e Plugins
•   Plugins para tudo
•   Facílima Instalação
•   Exemplos:
    •   paperclip
    •   will_paginate
    •   brazilian-rails
    •   nested_form
    •   rails_admin
    •   pdfkit
Escalabilidade?
Escalabilidade!



                                  node     822   req/s
                                  nginx    708
concurrent clients1 megabyte response
                                 apache    531
                                   thin     85
                                 mongrel     4
Escalabilidade!
Hospedagem




 R$ 0,00
JRuby

• Implementação de Java em Ruby
Se interessou?

• O Guia Comovente do Ruby do Why -
  http://why.nomedojogo.com
• Caelum - http://www.caelum.com.br/
• Railscasts - http://railscasts.com/
• Google - http://www.google.com.br
Grandes Rubystas
   _why


 Fábio Akita (Akita on Rails)
 @akitaonrails


 José Valim
 @josevalim
Grandes Rubystas
  Yehuda Katz
  @wycats

  Aaron Patterson
  @tenderlove


 Pedro Franceschi (PH)
 @pedroh96
Grandes Rubystas




    Jim Weirich
    @jimweirich
Obrigado!
Let’s Develop!

Más contenido relacionado

La actualidad más candente

Bridges no React Native - Lucas Silva
Bridges no React Native - Lucas SilvaBridges no React Native - Lucas Silva
Bridges no React Native - Lucas SilvaLucas Santos Silva
 
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...tdc-globalcode
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Leandro Nunes
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarFilipe Falcão
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacAndre Baltieri
 
Best pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobileBest pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobilenipjc
 
Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Pablo Souza
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013javamanrj
 
Iniciando com NodeJS - API Restful
Iniciando com NodeJS  - API RestfulIniciando com NodeJS  - API Restful
Iniciando com NodeJS - API RestfulJakeliny Gracielly
 
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Rodrigo Peleias
 

La actualidad más candente (20)

Groovy e Grails 2
Groovy e Grails 2Groovy e Grails 2
Groovy e Grails 2
 
Bridges no React Native - Lucas Silva
Bridges no React Native - Lucas SilvaBridges no React Native - Lucas Silva
Bridges no React Native - Lucas Silva
 
Browsers como vivem o que fazem
Browsers como vivem o que fazemBrowsers como vivem o que fazem
Browsers como vivem o que fazem
 
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...
TDC2017 | São Paulo - Trilha Mobile How we figured out we had a SRE team at -...
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizar
 
Desmistificando o PostCSS
Desmistificando o PostCSSDesmistificando o PostCSS
Desmistificando o PostCSS
 
apresentacao_scala
apresentacao_scalaapresentacao_scala
apresentacao_scala
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no Mac
 
NoSQL + Node.js
NoSQL + Node.jsNoSQL + Node.js
NoSQL + Node.js
 
Best pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobileBest pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobile
 
Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?
 
Clojure
ClojureClojure
Clojure
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
Iniciando com NodeJS - API Restful
Iniciando com NodeJS  - API RestfulIniciando com NodeJS  - API Restful
Iniciando com NodeJS - API Restful
 
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
Desenvolvimento de aplicações assíncronas, orientadas a eventos e poliglotas ...
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Introdução ao Ruby on Rails
Introdução ao Ruby on RailsIntrodução ao Ruby on Rails
Introdução ao Ruby on Rails
 
Performance Web com ASP.NET MVC
Performance Web com ASP.NET MVCPerformance Web com ASP.NET MVC
Performance Web com ASP.NET MVC
 
Loop back
Loop backLoop back
Loop back
 

Similar a Desenvolvimento Ágil com Ruby on Rails

Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimentamichel adriano medeiros
 
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 FrameworkGuilherme Carlos
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebJairo Junior
 
Abordagem geral - Ruby on rails
Abordagem geral - Ruby on railsAbordagem geral - Ruby on rails
Abordagem geral - Ruby on railsCOTIC-PROEG (UFPA)
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
 
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?Rodrigo Urubatan
 
AspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performanceAspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performanceJosé Roberto Araújo
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRodrigo Recio
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTGDGFoz
 
Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!João Longo
 

Similar a Desenvolvimento Ágil com Ruby on Rails (20)

Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
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
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
 
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
 
Abordagem geral - Ruby on rails
Abordagem geral - Ruby on railsAbordagem geral - Ruby on rails
Abordagem geral - Ruby on rails
 
Introdu
IntroduIntrodu
Introdu
 
Aula00
Aula00Aula00
Aula00
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full Javascript
 
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?Ruby On Rails :  Produtividade, Agilidade, Apenas uma Ferramenta?
Ruby On Rails : Produtividade, Agilidade, Apenas uma Ferramenta?
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 
AspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performanceAspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performance
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
 
Netbeans slides
Netbeans slidesNetbeans slides
Netbeans slides
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoT
 
Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
 
Rails nas Nuvens
Rails nas NuvensRails nas Nuvens
Rails nas Nuvens
 

Más de Rogerio Chaves

Single State Atom apps
Single State Atom appsSingle State Atom apps
Single State Atom appsRogerio Chaves
 
Continuous Delivery with JavaScript
Continuous Delivery with JavaScriptContinuous Delivery with JavaScript
Continuous Delivery with JavaScriptRogerio Chaves
 
Desenvolvimento de uma Aplicação para Utilização de Algoritmos Multi-Armed Ba...
Desenvolvimento de uma Aplicação para Utilização de Algoritmos Multi-Armed Ba...Desenvolvimento de uma Aplicação para Utilização de Algoritmos Multi-Armed Ba...
Desenvolvimento de uma Aplicação para Utilização de Algoritmos Multi-Armed Ba...Rogerio Chaves
 

Más de Rogerio Chaves (8)

Self-testing Code
Self-testing CodeSelf-testing Code
Self-testing Code
 
Playing with RxJS
Playing with RxJSPlaying with RxJS
Playing with RxJS
 
Introduction to Elm
Introduction to ElmIntroduction to Elm
Introduction to Elm
 
Single State Atom apps
Single State Atom appsSingle State Atom apps
Single State Atom apps
 
Continuous Delivery with JavaScript
Continuous Delivery with JavaScriptContinuous Delivery with JavaScript
Continuous Delivery with JavaScript
 
Desenvolvimento de uma Aplicação para Utilização de Algoritmos Multi-Armed Ba...
Desenvolvimento de uma Aplicação para Utilização de Algoritmos Multi-Armed Ba...Desenvolvimento de uma Aplicação para Utilização de Algoritmos Multi-Armed Ba...
Desenvolvimento de uma Aplicação para Utilização de Algoritmos Multi-Armed Ba...
 
Marketing Digital
Marketing DigitalMarketing Digital
Marketing Digital
 
O poder do JavaScript
O poder do JavaScriptO poder do JavaScript
O poder do JavaScript
 

Desenvolvimento Ágil com Ruby on Rails

  • 1. Desenvolvimento ágil Com Ruby on Rails a apresentação já vai começar...
  • 2. Quem somos nozes? • Rogério Chaves • twitter.com/_rchaves_ • facebook.com/rogerio.chaves • Victor Hugo • facebook.com/viictoor.huugo
  • 4. O que é Ruby? • Linguagem de programação de alto nível Olá Mundo em Java Olá Mundo em Ruby
  • 5. Tornar as coisas simples fáceis e as coisas complexas possíveis Filosofia Ruby
  • 6. Se um código em Ruby está feio é porque está errado Yukihiro “Matz” - Criador do Ruby
  • 7. O que é Rails? • Framework para a web construído sobre o Ruby, que utiliza conceitos como Convention Over Configuration, MVC, DRY, KISS e REST.
  • 9. O que é Rails? • Um conjunto de códigos, técnicas e padrões para se desenvolver aplicações para a web utilizando a linguagem Ruby • Utiliza vários conceitos de desenvolvimento ágil e de Web 2.0
  • 10. E o que eu ganho com isso? • Agilidade • Facilidade • Testabilidade • Manutenibilidade • Diversão
  • 11. Você vai precisar de: • Qualquer sistema operacional • Ruby 1.8.7 ou superior • Rubygems • Executar o comando “gem install rails”
  • 13. Convention over Configuration • Pressupõe as configurações, ganhando simplicidade sem perder flexibilidade
  • 14. MVC • Modelo, Visualização e Controlador (Entidade, Fronteira, Persistência)
  • 15. DRY • Don’t Repeat Yourself • Cada porção do sistema deve ter uma representação única, livre de ambiguidades
  • 16. KISS • Keep It Simple Stupid • Nada de gambiarras
  • 17. REST • Técnica de Engenharia de Software para sistemas hipermídia distribuídos como a World Wide Web (fonte: wikipedia)
  • 18. Layouts • Facilidade para criar vários layouts para um mesmo projeto • Pouquíssimo HTML em todas as outras páginas
  • 19. Migrações • O código de criação de banco é em Ruby, não em SQL • Adaptável com qualquer banco de dados
  • 20. Gems e Plugins • Plugins para tudo • Facílima Instalação • Exemplos: • paperclip • will_paginate • brazilian-rails • nested_form • rails_admin • pdfkit
  • 22. Escalabilidade! node 822 req/s nginx 708 concurrent clients1 megabyte response apache 531 thin 85 mongrel 4
  • 26. Se interessou? • O Guia Comovente do Ruby do Why - http://why.nomedojogo.com • Caelum - http://www.caelum.com.br/ • Railscasts - http://railscasts.com/ • Google - http://www.google.com.br
  • 27. Grandes Rubystas _why Fábio Akita (Akita on Rails) @akitaonrails José Valim @josevalim
  • 28. Grandes Rubystas Yehuda Katz @wycats Aaron Patterson @tenderlove Pedro Franceschi (PH) @pedroh96
  • 29. Grandes Rubystas Jim Weirich @jimweirich