SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Desenvolvimento Ágil com Groovy e Grails




      bryanollivie@gmail.com
JAVA EE
●   A criação da plataforma Java Enterprise
    Edition em 1999.

●   Dificuldade no gerenciamento da
    complexidade das aplicações.
Struts
●   Struts, primeiro de sucesso para JEE.
Java
●   Outras tecnologias foram surgindo com o
    mesmo objetivo do Struts: facilitar o
    desenvolvimento de aplicações web na
    plataforma JEE
Problemas
●   A plataforma Java também apresentava
    aumento em sua complexidade.

●   Substituição de parte das funcionalidades por
    ferramentas como o Hibernate.
Problemas
●   Dificuldade na criação e configuração do
    ambiente.
●   Tarefas repetitivas executadas manualmente.
●   Não havia convenções nítidas
●   Configurar a aplicação se tornou muito difícil
●   Os frameworks eram muito parecidos
●   Desenvolver aplicações web foi se tornando
    cada vez mais tedioso.
Mudança de paradigma.
Surgimento do Grails
●   Implementar um framework baseado nos
    mesmos princípios do RoR na plataforma
    Java: surge o Grails.

●    Para começar, a linguagem usada não é
    Java, e sim Groovy. Por que Groovy?
Groovy
●   Groovy resolve algumas inconveniências da
    linguagem Java de uma maneira bastante
    elegante.

●   Trata-se de uma linguagem dinâmica.

●   Groovy é compilado diretamente para
    bytecode.
Groovy
●   Suporte a closures.

●   Suporte a tipos de dados complexos.

●   Inspirada nas linguagens Python, Ruby e
    Smalltalk.
Grails
●   Framework de desenvolvimento web.

●   Desenvolvido em código aberto.

●   Paradigma de programação por convenção.
Grails
●   Projetado para ser um ambiente de alta
    produtividade.

●   Baixa curva de aprendizado

●   Utilização com código legado.
Arquitetura do Grails
PROJETO

Contenu connexe

Tendances

Python Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyPython Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyJulio Cesar Eiras Melanda
 
Abertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreAbertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreRodrigo Kono
 
A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile GDGFoz
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaFrederico Maia Arantes
 
Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Julio Cesar Eiras Melanda
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileFrederico Maia Arantes
 
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e BowerASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bowertdc-globalcode
 
O PHP Como deveria ser
O PHP Como deveria serO PHP Como deveria ser
O PHP Como deveria serVinicius Dias
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão GeralEder Nogueira
 
React Native - Produtividade e eficiência no desenvolvimento mobile
React Native - Produtividade e eficiência no desenvolvimento mobileReact Native - Produtividade e eficiência no desenvolvimento mobile
React Native - Produtividade e eficiência no desenvolvimento mobileDev PP
 
Web/Mobile tendências 2015
Web/Mobile tendências 2015Web/Mobile tendências 2015
Web/Mobile tendências 2015Rangel Torrezan
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaRodrigo Kono
 
Palestra Sobre o que é um Front-End
Palestra Sobre o que é um Front-EndPalestra Sobre o que é um Front-End
Palestra Sobre o que é um Front-EndLuis Fernando Mangia
 
TypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptTypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptRodrigo Kono
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - IntroduçãoRodrigo Branas
 
LPUG #10 agenda e community updates - 2020-09-16
LPUG #10   agenda e community updates - 2020-09-16LPUG #10   agenda e community updates - 2020-09-16
LPUG #10 agenda e community updates - 2020-09-16Fernando Fernández
 
#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React Goiânia#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React GoiâniaGleidson Daniel
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Rodrigo Kono
 

Tendances (20)

Python Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyPython Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
 
Abertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreAbertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET Core
 
Como é ser uma Front-end em 2018
Como é ser uma Front-end em 2018Como é ser uma Front-end em 2018
Como é ser uma Front-end em 2018
 
A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - Goiânia
 
Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
 
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e BowerASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
 
O PHP Como deveria ser
O PHP Como deveria serO PHP Como deveria ser
O PHP Como deveria ser
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
 
React Native - Produtividade e eficiência no desenvolvimento mobile
React Native - Produtividade e eficiência no desenvolvimento mobileReact Native - Produtividade e eficiência no desenvolvimento mobile
React Native - Produtividade e eficiência no desenvolvimento mobile
 
Web/Mobile tendências 2015
Web/Mobile tendências 2015Web/Mobile tendências 2015
Web/Mobile tendências 2015
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração Contínua
 
Palestra Sobre o que é um Front-End
Palestra Sobre o que é um Front-EndPalestra Sobre o que é um Front-End
Palestra Sobre o que é um Front-End
 
TypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptTypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascript
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - Introdução
 
LPUG #10 agenda e community updates - 2020-09-16
LPUG #10   agenda e community updates - 2020-09-16LPUG #10   agenda e community updates - 2020-09-16
LPUG #10 agenda e community updates - 2020-09-16
 
Javafx
JavafxJavafx
Javafx
 
#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React Goiânia#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React Goiânia
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1
 

Similaire à Desenvolvimento Ágil com Groovy e Grails

Grails, o que isso quer dizer?
Grails, o que isso quer dizer?Grails, o que isso quer dizer?
Grails, o que isso quer dizer?Gilliard Cordeiro
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java BásicoPaloma Costa
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosFelipe Gadelha Ruoso
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoRegis Magalhães
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Grails: O Java em Alta Produtividade
Grails: O Java em Alta ProdutividadeGrails: O Java em Alta Produtividade
Grails: O Java em Alta ProdutividadeCleórbete Santos
 
Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Phil Calçado
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Maurício Linhares
 
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
 
Desenvolvimento Mobile Hibrido com Ionic e Angular - TDC Floripa 2015
Desenvolvimento Mobile Hibrido com Ionic e Angular - TDC Floripa 2015Desenvolvimento Mobile Hibrido com Ionic e Angular - TDC Floripa 2015
Desenvolvimento Mobile Hibrido com Ionic e Angular - TDC Floripa 2015Rangel Torrezan
 

Similaire à Desenvolvimento Ágil com Groovy e Grails (20)

Grails, o que isso quer dizer?
Grails, o que isso quer dizer?Grails, o que isso quer dizer?
Grails, o que isso quer dizer?
 
Curso de Grails
Curso de GrailsCurso de Grails
Curso de Grails
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java Básico
 
Java web
Java webJava web
Java web
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhos
 
Groovy e Grails 2
Groovy e Grails 2Groovy e Grails 2
Groovy e Grails 2
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Grails: O Java em Alta Produtividade
Grails: O Java em Alta ProdutividadeGrails: O Java em Alta Produtividade
Grails: O Java em Alta Produtividade
 
Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005
 
Titanium appacelerator
Titanium appaceleratorTitanium appacelerator
Titanium appacelerator
 
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
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 
Apresentando Groovy e Grails
Apresentando Groovy e GrailsApresentando Groovy e Grails
Apresentando Groovy e Grails
 
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
 
Mc1 JAVA
Mc1 JAVAMc1 JAVA
Mc1 JAVA
 
Desenvolvimento Mobile Hibrido com Ionic e Angular - TDC Floripa 2015
Desenvolvimento Mobile Hibrido com Ionic e Angular - TDC Floripa 2015Desenvolvimento Mobile Hibrido com Ionic e Angular - TDC Floripa 2015
Desenvolvimento Mobile Hibrido com Ionic e Angular - TDC Floripa 2015
 

Desenvolvimento Ágil com Groovy e Grails

  • 1. Desenvolvimento Ágil com Groovy e Grails bryanollivie@gmail.com
  • 2. JAVA EE ● A criação da plataforma Java Enterprise Edition em 1999. ● Dificuldade no gerenciamento da complexidade das aplicações.
  • 3. Struts ● Struts, primeiro de sucesso para JEE.
  • 4. Java ● Outras tecnologias foram surgindo com o mesmo objetivo do Struts: facilitar o desenvolvimento de aplicações web na plataforma JEE
  • 5. Problemas ● A plataforma Java também apresentava aumento em sua complexidade. ● Substituição de parte das funcionalidades por ferramentas como o Hibernate.
  • 6. Problemas ● Dificuldade na criação e configuração do ambiente. ● Tarefas repetitivas executadas manualmente. ● Não havia convenções nítidas ● Configurar a aplicação se tornou muito difícil ● Os frameworks eram muito parecidos ● Desenvolver aplicações web foi se tornando cada vez mais tedioso.
  • 8. Surgimento do Grails ● Implementar um framework baseado nos mesmos princípios do RoR na plataforma Java: surge o Grails. ● Para começar, a linguagem usada não é Java, e sim Groovy. Por que Groovy?
  • 9. Groovy ● Groovy resolve algumas inconveniências da linguagem Java de uma maneira bastante elegante. ● Trata-se de uma linguagem dinâmica. ● Groovy é compilado diretamente para bytecode.
  • 10. Groovy ● Suporte a closures. ● Suporte a tipos de dados complexos. ● Inspirada nas linguagens Python, Ruby e Smalltalk.
  • 11. Grails ● Framework de desenvolvimento web. ● Desenvolvido em código aberto. ● Paradigma de programação por convenção.
  • 12. Grails ● Projetado para ser um ambiente de alta produtividade. ● Baixa curva de aprendizado ● Utilização com código legado.