Submit Search
Upload
Groovy para javeiros - Migração Painless
•
0 likes
•
371 views
Rafael Farias Silva
Follow
Apresentação de 10 minutos sobre migração de java para groovy.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 10
Download Now
Download to read offline
Recommended
Invocação Remota de Procedimentos (RPC)
Invocação Remota de Procedimentos (RPC)
elliando dias
Frameworks para C 3º DeSif
Frameworks para C 3º DeSif
Gleison Rodrigues
Bg, fg, jobs, nohup - controle de tarefas do shell
Bg, fg, jobs, nohup - controle de tarefas do shell
Fábio dos Reis
TDD
TDD
Alaor Bianco
PHP Conference 2016: Aplicações em tempo real com o Ratchet PHP
PHP Conference 2016: Aplicações em tempo real com o Ratchet PHP
Aryel Tupinambá
MSDN Webcast: Task-based Asynchronous Pattern (TAP), async e await
MSDN Webcast: Task-based Asynchronous Pattern (TAP), async e await
Rogério Moraes de Carvalho
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
PHP Conference 2017 - Processamento avançado de vídeos com FFmpeg e PHP
Aryel Tupinambá
Exercícios da Aula de LAB 02
Exercícios da Aula de LAB 02
thomasdacosta
More Related Content
What's hot
T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)
Carlos Santos
Programação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código Fonte
thomasdacosta
Stored Procedures com PostgreSQL: porque usar.
Stored Procedures com PostgreSQL: porque usar.
Atmos Maciel
Introdução a linguagem c 2_97_2003
Introdução a linguagem c 2_97_2003
Henoc Freire
(Portuguese) Java EE Poliglota
(Portuguese) Java EE Poliglota
Phil Calçado
Programação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código Fonte
thomasdacosta
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3
Jose Berardo
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
tdc-globalcode
Testes em go
Testes em go
Eduardo Felipe Ewert Bonet
Questao.2
Questao.2
Utyiama
Dicas e Truques TypeScript
Dicas e Truques TypeScript
Loiane Groner
Linguagem c wellington telles - aula 04
Linguagem c wellington telles - aula 04
profwtelles
Clean code como um código ruim pode influenciar a produtividade
Clean code como um código ruim pode influenciar a produtividade
Higor Nucci
introdução a visão compuutacional com opencv e python
introdução a visão compuutacional com opencv e python
whanderley freitas
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
Carlos Santos
Linguagem c wellington telles - aula 07
Linguagem c wellington telles - aula 07
profwtelles
Javascript
Javascript
Ramon Oliveira
Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)
Cristiano Rafael Steffens
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
Cristiano Rafael Steffens
Bootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders Meetup
Elaine Naomi
What's hot
(20)
T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)
Programação Estruturada 2 - Aula 01 - Código Fonte
Programação Estruturada 2 - Aula 01 - Código Fonte
Stored Procedures com PostgreSQL: porque usar.
Stored Procedures com PostgreSQL: porque usar.
Introdução a linguagem c 2_97_2003
Introdução a linguagem c 2_97_2003
(Portuguese) Java EE Poliglota
(Portuguese) Java EE Poliglota
Programação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código Fonte
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
Testes em go
Testes em go
Questao.2
Questao.2
Dicas e Truques TypeScript
Dicas e Truques TypeScript
Linguagem c wellington telles - aula 04
Linguagem c wellington telles - aula 04
Clean code como um código ruim pode influenciar a produtividade
Clean code como um código ruim pode influenciar a produtividade
introdução a visão compuutacional com opencv e python
introdução a visão compuutacional com opencv e python
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
Linguagem c wellington telles - aula 07
Linguagem c wellington telles - aula 07
Javascript
Javascript
Introdução ao processamento de imagens com OpenCV (cont)
Introdução ao processamento de imagens com OpenCV (cont)
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
Bootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders Meetup
Viewers also liked
Proyecto Guia torre 1º y 2º EP
Proyecto Guia torre 1º y 2º EP
Sagradocorazontorrealhaquime
Plan fronvia_(_resumen_ejecutivo)
Plan fronvia_(_resumen_ejecutivo)
elvio Alvarez Martinez
Alexandra moreno
Alexandra moreno
yosliver1987
Drivers o controladores 6
Drivers o controladores 6
putaaaaa
Matriz 29 de_novembro[1]
Matriz 29 de_novembro[1]
celinachiara
O soldado e o capitão os cravos e o povão
O soldado e o capitão os cravos e o povão
12_A
Carta desenvolvimentista
Carta desenvolvimentista
Gusthavo Santana
Peliculas en cartelera en septiembre de 2015. Noticias de peliculas
Peliculas en cartelera en septiembre de 2015. Noticias de peliculas
Cineralia
Ley 26260 violencia familiar
Ley 26260 violencia familiar
SWEETLUA25
Museu Hermitage Escultura Pintura(Lola)
Museu Hermitage Escultura Pintura(Lola)
adam eva
Que es un voki
Que es un voki
yisedneyder
Port Grimaud
Port Grimaud
adam eva
Gestion basica de la informacion
Gestion basica de la informacion
yisedneyder
Spam spyware
Spam spyware
yisedneyder
Think 4th - Mobile Phones
Think 4th - Mobile Phones
Evgeniy Kozlov
Qué son las tic parte-01
Qué son las tic parte-01
Francisco Alvarez-Montero
Hooters Baja
Hooters Baja
projectexperience
Compet~encia e imunidade_-_facamp
Compet~encia e imunidade_-_facamp
luciapaoliello
Reqepay Transforme seu Celular em uma maquina de Cartão de Crédito e em uma ...
Reqepay Transforme seu Celular em uma maquina de Cartão de Crédito e em uma ...
CLUBE CRÉDITOS
Virus y antivirus
Virus y antivirus
changoleonsito
Viewers also liked
(20)
Proyecto Guia torre 1º y 2º EP
Proyecto Guia torre 1º y 2º EP
Plan fronvia_(_resumen_ejecutivo)
Plan fronvia_(_resumen_ejecutivo)
Alexandra moreno
Alexandra moreno
Drivers o controladores 6
Drivers o controladores 6
Matriz 29 de_novembro[1]
Matriz 29 de_novembro[1]
O soldado e o capitão os cravos e o povão
O soldado e o capitão os cravos e o povão
Carta desenvolvimentista
Carta desenvolvimentista
Peliculas en cartelera en septiembre de 2015. Noticias de peliculas
Peliculas en cartelera en septiembre de 2015. Noticias de peliculas
Ley 26260 violencia familiar
Ley 26260 violencia familiar
Museu Hermitage Escultura Pintura(Lola)
Museu Hermitage Escultura Pintura(Lola)
Que es un voki
Que es un voki
Port Grimaud
Port Grimaud
Gestion basica de la informacion
Gestion basica de la informacion
Spam spyware
Spam spyware
Think 4th - Mobile Phones
Think 4th - Mobile Phones
Qué son las tic parte-01
Qué son las tic parte-01
Hooters Baja
Hooters Baja
Compet~encia e imunidade_-_facamp
Compet~encia e imunidade_-_facamp
Reqepay Transforme seu Celular em uma maquina de Cartão de Crédito e em uma ...
Reqepay Transforme seu Celular em uma maquina de Cartão de Crédito e em uma ...
Virus y antivirus
Virus y antivirus
Similar to Groovy para javeiros - Migração Painless
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Willian Magalhães
Desenvolvimento de web sites com php
Desenvolvimento de web sites com php
brenod123
Ganhando tempo com casos de testes
Ganhando tempo com casos de testes
Michael Castillo Granados
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQuery
Harlley Oliveira
Polimorfismo
Polimorfismo
Caveiras
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_jav
Julio Viegas
Python e Django
Python e Django
pugpe
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
Osvaldo Santana Neto
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
Ricardo Valeriano
JavaScript - A Linguagem
JavaScript - A Linguagem
Sérgio Souza Costa
Java e orientação a objetos
Java e orientação a objetos
Frederico Maia Arantes
Floggy-GUJavaSC-2008-09-20
Floggy-GUJavaSC-2008-09-20
Thiago Leão Moreira
Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"
flaviohalmeida
Java hidden features
Java hidden features
Josenaldo de Oliveira Matos Filho
JavaScript - Aula Introdutória
JavaScript - Aula Introdutória
lucasleite
Oficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScript
Raphael Donaire Albino
Golang para desenvolvedores pragmáticos parte 2
Golang para desenvolvedores pragmáticos parte 2
Wilson Júnior
Ajax em java
Ajax em java
Maurício Linhares
PHPSP TestFest 2009
PHPSP TestFest 2009
Rafael Dohms
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
Sérgio Souza Costa
Similar to Groovy para javeiros - Migração Painless
(20)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Desenvolvimento de web sites com php
Desenvolvimento de web sites com php
Ganhando tempo com casos de testes
Ganhando tempo com casos de testes
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQuery
Polimorfismo
Polimorfismo
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_jav
Python e Django
Python e Django
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
JavaScript - A Linguagem
JavaScript - A Linguagem
Java e orientação a objetos
Java e orientação a objetos
Floggy-GUJavaSC-2008-09-20
Floggy-GUJavaSC-2008-09-20
Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"
Java hidden features
Java hidden features
JavaScript - Aula Introdutória
JavaScript - Aula Introdutória
Oficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScript
Golang para desenvolvedores pragmáticos parte 2
Golang para desenvolvedores pragmáticos parte 2
Ajax em java
Ajax em java
PHPSP TestFest 2009
PHPSP TestFest 2009
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
Groovy para javeiros - Migração Painless
1.
shutterstock_3248515.jpg Groovy para
Javeiros – Migração Painless WCJ IT – Soluções em TI http://www.sp.senac.br/imagens/x1.gif http://www.sp.senac.br/imagens/x1.gif Cuidamos dos valores que fazem sentido para o seu negócio . http://wcj-it.com
2.
3.
Ruby / Phyton
4.
5.
Duck typing
6.
Tipagem estática e
dinâmica
7.
Interoperabilidade com Java
8.
Sintaxe flexível
9.
Etc...
10.
Por que Groovy?
public static void lerLinhaALinha(InputStream stream) { InputStreamReader reader = null ; BufferedReader buffer = null ; try { reader = new InputStreamReader(stream); buffer = new BufferedReader(reader); String linha = "" ; while (linha != null ) { linha = buffer.readLine(); if (linha != null ) { //CODIGO DE NEGOCIO } } } catch (FileNotFoundException e) { throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); } finally { if (reader != null ) { try { reader.close(); } catch (IOException e) { LOG .error( "erro carregando arquivo" , e); } } if (buffer != null ) { try { buffer.close(); } catch (IOException e) { LOG .error( "erro carregando arquivo" , e); } } } } public static void lerLinhaALinha (InputStream is) { is. eachLine ( "utf-8" , { linha -> //CODIGO DE NEGOCIO }); } JAVA Groovy
11.
12.
Mundança de paradigma
13.
Nova linguagem sempre
vem acompanhada de um novo ecosistema
14.
Risco para o
projeto
15.
Prazos
16.
17.
Curva de aprendizado
quase zero
18.
Aceita 100% da
sintaxe Java
19.
Utilize seus frameworks
favoritos
20.
O mesmo arquivo
pode ter código java e groovy
21.
Possibilita o uso
da melhor ferramenta para o problema em questão.
22.
23.
Configuração do compilador
24.
Menos de um
dia pra configurar com o Maven
25.
Exemplos – Busca
de gestores public class Funcionarios { def funcionarios = [ new Funcionario(nome: "Rafael" , salario = 200 , gestor = true ), new Funcionario(nome: "Wilson" , salario = 300 , gestor = true ), new Funcionario(nome: "Renan" , salario = 20 , gestor = false ) ] def buscarGestoresGroovy () { funcionarios . findAll { funcionario -> funcionario.isGestor(); } } public List<Funcionario> buscarGestoresJava () { List<Funcionario> gestores = new ArrayList<Funcionario>(); for (Funcionario funcionario : funcionarios ) { if (funcionario. isGestor ()) { gestores.add(funcionario); } } return gestores; } } public class Funcionario { private String nome ; private double salario ; private boolean gestor ; }
26.
Exemplos – Stubs
/ interfaces public interface ActionListener { public void actionPerformed(); } def actionListener = { println "action executada!" } as ActionListener public interface MouseListener { public void mouseMoved(); public void mouseClicked(); } def mouseMoved = [ MouseMoved: { println "Mouse Movido!!" }, MouseClicked: { println "Clicou!!" } ] as MouseListener
27.
28.
Custo de aprendizado
baixo
29.
Ganho de produtividade,
Objetividade e expressividade de código
30.
Não vale a
pena tentar?
31.
Dúvidas?
Editor's Notes
WCJ IT – Soluções em TI Cuidamos dos valores que fazem sentido para o seu negócio
Download Now