SlideShare uma empresa Scribd logo
1 de 41
Indo além na JVM com Grails
I workshop da computação - UFOP
• @fzampa
• fzampa@gmail.com
• Desenvolvedor / Líder Técnico
• www.eteg.com.br
• JEE
• Groovy
• Grails
• Exemplo
• JEE
• Groovy
• Grails
• Exemplo
JEE
JDK
Tomcat
Jars
XML
Configuração da IDE
Hibernate
JSF
Maven
• JEE
• Groovy
• Grails
• Exemplo
Groovy
• Dinâmica
• Linguagem Simples
• Poderosa
• Concisa
for (file in args) {
new File(file).eachLine { line ->
if (line =~ /palavra/) {
println line
}
}
}
int numero = 10String texto =
"Número: ${numero}"println texto
Objeto meuObjeto = construirObjeto()
println(meuObjeto?.propriedade?.valor)
import java.util.List;
import java.util.ArrayList;
public class Seletor{
private List<String> selecionaMenoresQue(List<String> palavras, int tamanho){
List<String> resultado = new ArrayList<String>();
for (String pal : palavras){
if (pal.length() <= tamanho){
resultado.add(pal);
}
}
return resultado;
}
public static void main(String[] args){
List<String> linguagens = new ArrayList<String>();
linguagens.add("Java");
linguagens.add("Scala");
linguagens.add("Groovy");
linguagens.add("Ruby");
Seletor seletor = new Seletor();
List<String> selecionadas =
seletor.selecionaMenoresQue(linguagens,5);
System.out.println("Total "+selecionadas.size());
for (String sel : selecionadas){
System.out.println(sel);
}
}
} http://www.slideshare.net/lucastex/grails-java-produtivo-e-divertido
def linguagens = ["Java", "Scala", "Groovy", "Ruby"]
def selecionadas = linguagens.findAll { it.size() <= 5 }
println "Total ${selecionadas.size()}"
selecionadas.each { sel ->
println sel
}
http://www.slideshare.net/lucastex/grails-java-produtivo-e-divertido
• JEE
• Groovy
• Grails
• Exemplo
http://grails.org/doc/latest/
Grails
Convenção sobre Configuração
Grails
Convenção sobre Configuração
Grails
Convenção sobre Configuração
Grails
Convenção sobre Configuração
Grails
Convenção sobre Configuração
Grails
Convenção sobre Configuração
Grails
Criar um projeto é fácil
Grails
Criar um crud é fácil
Grails
Criar uma consulta é fácil
Grails
Programar é prazeroso
Grails
• Pilha tecnológica bem definida
• Hibernate
• Spring
• Quartz
• JEE
• Log4J
Grails
• Roda no mesmo ambiente que aplicativos
JEE
Grails
• grails createApp ufopApp
Grails
• grails createDomainClass br.ufop.Aluno
Grails
• grails generateAll br.ufop.Aluno
Grails
• grails createController br.ufop.Aluno
Grails
• grails runApp
Grails
• GORM - Grails Object Relational Mapping
class Pessoa {
static constraints = {
nome(nullable: false, maxSize:30, blank: false)
endereco(nullable:true)
dataNascimento(nullable: false)
}
String nome
String endereco
Date dataNascimento
}
def pessoa = Pessoa.findByNome(“Felipe Zampa”)
def book = Book.findByTitle("The Stand")
book = Book.findByTitleLike("Harry Pot%")
book = Book.findByReleaseDateBetween(firstDate,
secondDate)
book = Book.findByReleaseDateGreaterThan(someDate)
book =
Book.findByTitleOrReleaseDateLessThan("Something",
someDate)
• JEE
• Groovy
• Grails
• Exemplo
Obrigado!

Mais conteúdo relacionado

Semelhante a Indo além na jvm com grails - UFOP

Groovy na plataforma Java
Groovy na plataforma JavaGroovy na plataforma Java
Groovy na plataforma JavaJoão Lourenço
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com GrailsWanderson Oliveira
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javJulio Viegas
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 
Groovy para javeiros - Migração Painless
Groovy para javeiros - Migração PainlessGroovy para javeiros - Migração Painless
Groovy para javeiros - Migração PainlessRafael Farias Silva
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - BrazilStephen Chin
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformMilfont Consulting
 
Introdução ao Framework Grails
Introdução ao Framework GrailsIntrodução ao Framework Grails
Introdução ao Framework GrailsBruno Catão
 
Grails: Java produtivo e divertido
Grails: Java produtivo e divertidoGrails: Java produtivo e divertido
Grails: Java produtivo e divertidoLucas Teixeira
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 

Semelhante a Indo além na jvm com grails - UFOP (20)

Groovy na plataforma Java
Groovy na plataforma JavaGroovy na plataforma Java
Groovy na plataforma Java
 
Java 9, 10 e ... 11
Java 9, 10 e ... 11Java 9, 10 e ... 11
Java 9, 10 e ... 11
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
 
Minicurso groovy grails
Minicurso groovy grailsMinicurso groovy grails
Minicurso groovy grails
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_jav
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
Groovy para javeiros - Migração Painless
Groovy para javeiros - Migração PainlessGroovy para javeiros - Migração Painless
Groovy para javeiros - Migração Painless
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java Platform
 
Introdução ao Framework Grails
Introdução ao Framework GrailsIntrodução ao Framework Grails
Introdução ao Framework Grails
 
Grails: Java produtivo e divertido
Grails: Java produtivo e divertidoGrails: Java produtivo e divertido
Grails: Java produtivo e divertido
 
Introdução ao Apache Ant
Introdução ao Apache AntIntrodução ao Apache Ant
Introdução ao Apache Ant
 
Floggy-IIBoot-2008-09-25
Floggy-IIBoot-2008-09-25Floggy-IIBoot-2008-09-25
Floggy-IIBoot-2008-09-25
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
Floggy-JustJava-2008-09-10
Floggy-JustJava-2008-09-10Floggy-JustJava-2008-09-10
Floggy-JustJava-2008-09-10
 
Floggy-GUJavaSC-2008-09-20
Floggy-GUJavaSC-2008-09-20Floggy-GUJavaSC-2008-09-20
Floggy-GUJavaSC-2008-09-20
 
Java7 tdc2011
Java7 tdc2011Java7 tdc2011
Java7 tdc2011
 

Último

Os Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco LeiteOs Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco Leiteprofesfrancleite
 
Apresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosApresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosFernanda Ledesma
 
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática  38 a 62.pdfPlanejamento 2024 - 1º ano - Matemática  38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdfdanielagracia9
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número Mary Alvarenga
 
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxMartin M Flynn
 
Meu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroMeu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroBrenda Fritz
 
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...Manuais Formação
 
Trabalho sobre as diferenças demograficas entre EUA e Senegal
Trabalho sobre as diferenças demograficas entre EUA e SenegalTrabalho sobre as diferenças demograficas entre EUA e Senegal
Trabalho sobre as diferenças demograficas entre EUA e SenegalErikOliveira40
 
Nós Propomos! Infraestruturas em Proença-a-Nova
Nós Propomos! Infraestruturas em Proença-a-NovaNós Propomos! Infraestruturas em Proença-a-Nova
Nós Propomos! Infraestruturas em Proença-a-NovaIlda Bicacro
 
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdfufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdfManuais Formação
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxLuizHenriquedeAlmeid6
 
PPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalPPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalcarlaOliveira438
 
Atividade com a música Xote da Alegria - Falamansa
Atividade com a música Xote  da  Alegria    -   FalamansaAtividade com a música Xote  da  Alegria    -   Falamansa
Atividade com a música Xote da Alegria - FalamansaMary Alvarenga
 
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfssuserbb4ac2
 
Descrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteDescrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteLeonel Morgado
 
Plano de aula ensino fundamental escola pública
Plano de aula ensino fundamental escola públicaPlano de aula ensino fundamental escola pública
Plano de aula ensino fundamental escola públicaanapsuls
 
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfRespostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfssuser06ee57
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalcarlamgalves5
 
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....LuizHenriquedeAlmeid6
 
Aula 5 - Fluxo de matéria e energia nos ecossistemas.ppt
Aula 5 - Fluxo de matéria e energia nos ecossistemas.pptAula 5 - Fluxo de matéria e energia nos ecossistemas.ppt
Aula 5 - Fluxo de matéria e energia nos ecossistemas.pptParticular
 

Último (20)

Os Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco LeiteOs Padres de Assaré - CE. Prof. Francisco Leite
Os Padres de Assaré - CE. Prof. Francisco Leite
 
Apresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosApresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativos
 
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática  38 a 62.pdfPlanejamento 2024 - 1º ano - Matemática  38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdf
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número
 
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
 
Meu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroMeu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livro
 
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
 
Trabalho sobre as diferenças demograficas entre EUA e Senegal
Trabalho sobre as diferenças demograficas entre EUA e SenegalTrabalho sobre as diferenças demograficas entre EUA e Senegal
Trabalho sobre as diferenças demograficas entre EUA e Senegal
 
Nós Propomos! Infraestruturas em Proença-a-Nova
Nós Propomos! Infraestruturas em Proença-a-NovaNós Propomos! Infraestruturas em Proença-a-Nova
Nós Propomos! Infraestruturas em Proença-a-Nova
 
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdfufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
 
PPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalPPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 final
 
Atividade com a música Xote da Alegria - Falamansa
Atividade com a música Xote  da  Alegria    -   FalamansaAtividade com a música Xote  da  Alegria    -   Falamansa
Atividade com a música Xote da Alegria - Falamansa
 
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
 
Descrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteDescrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamente
 
Plano de aula ensino fundamental escola pública
Plano de aula ensino fundamental escola públicaPlano de aula ensino fundamental escola pública
Plano de aula ensino fundamental escola pública
 
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfRespostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animal
 
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
 
Aula 5 - Fluxo de matéria e energia nos ecossistemas.ppt
Aula 5 - Fluxo de matéria e energia nos ecossistemas.pptAula 5 - Fluxo de matéria e energia nos ecossistemas.ppt
Aula 5 - Fluxo de matéria e energia nos ecossistemas.ppt
 

Indo além na jvm com grails - UFOP