SlideShare uma empresa Scribd logo
1 de 33
Utilize Groovy nos seus futuros projetos...
Márcio Ferreira
Analista de Sistemas – BBTec
marciowferreira@marciowferreira.net
Antes de começar...Antes de começar...
Linguagens dinâmicas???Linguagens dinâmicas???
Linguagens DinâmicasLinguagens Dinâmicas
resumidamente falando...resumidamente falando...
•
Não há uma definição universal de
dados
•
Interpretada
•
Tipagem Dinâmica
•
Duck Typing
Atualmente existem vários “sabores”Atualmente existem vários “sabores”
de linguagens dinâmicas e estáticade linguagens dinâmicas e estática
para a plataforma Java...para a plataforma Java...
Estes são alguns...Estes são alguns...
Finalmente o Groovy: Uma ra idaṕFinalmente o Groovy: Uma ra idaṕ
introdução...introdução...
É uma linguagem dinâmica de programação orientada a
objetos desenvolvida para a plataforma Java que tem
como foco a alta produtividade, tendo como inspiração
Ruby, Python e Smaltalk.
“ Minha ideia inicial é fazer uma pequena linguagem
dinâmica que seja totalmente compativel com Java e
tenha toda produtividade e elegância encontrada em Ruby
e Python “ (James Strachan)
Então por que o Groovy?Então por que o Groovy?
●Java em Linguagem Dinâmica
●Menos código repetitivo
●Facilmente integrável ao Java
●Baixa curva de aprendizagem
●Maximum Productivity
Além disso, Groovy já possui todos
os recursos já conhecidos do Java...
E também adiciona coisas legais deE também adiciona coisas legais de
outras linguagens...outras linguagens...
Além disso, um código-fonte Java éAlém disso, um código-fonte Java é
também um código-fonte Groovytambém um código-fonte Groovy
válido...válido...
=
Então um programador JavaEntão um programador Java
também é um programadortambém é um programador
Groovy em potencial...Groovy em potencial...
Enquanto isso, no mercado deEnquanto isso, no mercado de
trabalho... Há vagas...trabalho... Há vagas...
Mas como eu instalo???Mas como eu instalo???
Beleza, mas agora...Beleza, mas agora...
Sintaxe...Sintaxe...
Importação AutomáticaImportação Automática
Groovy importa implicitamente os pacotes
groovy.lang.* , groovy.util.* java.lang.* , java.util.* ,
java.net.* , java.io.*
O que nos permite um código assim .:
Para trabalhar com entradas dePara trabalhar com entradas de
usuário em Groovy, use isso.:usuário em Groovy, use isso.:
Além disso, há todo um universo deAlém disso, há todo um universo de
recursos disponíveis...recursos disponíveis...
http://groovy.codehaus.org/ - Site oficial
http://www.grailsbrasil.com.br/
http://griffon.codehaus.org/
http://grails.org
http://groovymag.com
Use Groovy para seus próximos projetos

Mais conteúdo relacionado

Mais procurados

Erlang e Elixir por uma web mais feliz
Erlang e Elixir por uma web mais felizErlang e Elixir por uma web mais feliz
Erlang e Elixir por uma web mais felizBruno Henrique - Garu
 
Apresentação Introdução Typescript - .Net Caxias do Sul
Apresentação   Introdução Typescript - .Net Caxias do SulApresentação   Introdução Typescript - .Net Caxias do Sul
Apresentação Introdução Typescript - .Net Caxias do SulGlaucia Lemos
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercadoelliando dias
 
Prazer,Ruby On Rails
Prazer,Ruby On RailsPrazer,Ruby On Rails
Prazer,Ruby On RailsAlberto Leal
 
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaRuby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaWomen Techmakers João Pessoa
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013Giovanni Bassi
 
Programando em Elixir
Programando em ElixirProgramando em Elixir
Programando em ElixirAdolfo Neto
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o MercadoJulio Monteiro
 
Pug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debuggerPug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debuggerpugpe
 
Introdução ao Jython
Introdução ao JythonIntrodução ao Jython
Introdução ao JythonRafael Nunes
 
Vagrant você deveria está usando
Vagrant   você deveria está usandoVagrant   você deveria está usando
Vagrant você deveria está usandoHudson Brendon
 
Facebook's Hack programming language / Linguagem de programação Hack do Facebook
Facebook's Hack programming language / Linguagem de programação Hack do FacebookFacebook's Hack programming language / Linguagem de programação Hack do Facebook
Facebook's Hack programming language / Linguagem de programação Hack do FacebookRafael Alves
 
Introdução à programação em Ruby
Introdução à programação em RubyIntrodução à programação em Ruby
Introdução à programação em RubyDaniel Andrade
 
Aula1 - introdução à programação
Aula1 - introdução à programaçãoAula1 - introdução à programação
Aula1 - introdução à programaçãoIan Giestas Pauli
 

Mais procurados (20)

Ruby
RubyRuby
Ruby
 
Erlang e Elixir por uma web mais feliz
Erlang e Elixir por uma web mais felizErlang e Elixir por uma web mais feliz
Erlang e Elixir por uma web mais feliz
 
Apresentando Groovy e Grails
Apresentando Groovy e GrailsApresentando Groovy e Grails
Apresentando Groovy e Grails
 
Apresentação Introdução Typescript - .Net Caxias do Sul
Apresentação   Introdução Typescript - .Net Caxias do SulApresentação   Introdução Typescript - .Net Caxias do Sul
Apresentação Introdução Typescript - .Net Caxias do Sul
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
 
Prazer,Ruby On Rails
Prazer,Ruby On RailsPrazer,Ruby On Rails
Prazer,Ruby On Rails
 
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João PessoaRuby: Simples e Expressivo - Women Techmakers João Pessoa
Ruby: Simples e Expressivo - Women Techmakers João Pessoa
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013
 
Programando em Elixir
Programando em ElixirProgramando em Elixir
Programando em Elixir
 
Visão geral type script
Visão geral type scriptVisão geral type script
Visão geral type script
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o Mercado
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
 
Pug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debuggerPug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debugger
 
Introdução ao Jython
Introdução ao JythonIntrodução ao Jython
Introdução ao Jython
 
Vagrant você deveria está usando
Vagrant   você deveria está usandoVagrant   você deveria está usando
Vagrant você deveria está usando
 
Facebook's Hack programming language / Linguagem de programação Hack do Facebook
Facebook's Hack programming language / Linguagem de programação Hack do FacebookFacebook's Hack programming language / Linguagem de programação Hack do Facebook
Facebook's Hack programming language / Linguagem de programação Hack do Facebook
 
Hack Thursday - NodeJS
Hack Thursday - NodeJSHack Thursday - NodeJS
Hack Thursday - NodeJS
 
Introdução à programação em Ruby
Introdução à programação em RubyIntrodução à programação em Ruby
Introdução à programação em Ruby
 
Robowiki
RobowikiRobowiki
Robowiki
 
Aula1 - introdução à programação
Aula1 - introdução à programaçãoAula1 - introdução à programação
Aula1 - introdução à programação
 

Semelhante a Use Groovy para seus próximos projetos

LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO IOs Fantasmas !
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Paulo Cesar Ortins Brito
 
Compartilhando experiências em software livre
Compartilhando experiências em software livreCompartilhando experiências em software livre
Compartilhando experiências em software livreMarcelo Andrade
 
Desenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryDesenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryFabricio Nogueira
 
Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
 Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In... Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...Zabbix BR
 
Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...
Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...
Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...Zabbix BR
 
Java: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalhoJava: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalhoPedro Cavalero
 
Simples pelo simples google android com robo guice
Simples pelo simples   google android com robo guiceSimples pelo simples   google android com robo guice
Simples pelo simples google android com robo guiceDiogo Souza
 
1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...
1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...
1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...André Déo
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoTchelinux
 
Hands on de desenvolvimento rápido de apllicações java ee com forge
Hands on de desenvolvimento rápido de apllicações java ee com forgeHands on de desenvolvimento rápido de apllicações java ee com forge
Hands on de desenvolvimento rápido de apllicações java ee com forgeRafael Pestano
 
Desenvolvendo aplicativos nativos com React Native
Desenvolvendo aplicativos nativos com React NativeDesenvolvendo aplicativos nativos com React Native
Desenvolvendo aplicativos nativos com React NativeLuís Felipe Souza
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 
Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Breno Alves
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerGiovanni Kenji Shiroma
 
Usando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScriptUsando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScriptZigotto Tecnologia
 

Semelhante a Use Groovy para seus próximos projetos (20)

Curso de Groovy
Curso de GroovyCurso de Groovy
Curso de Groovy
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#
 
Compartilhando experiências em software livre
Compartilhando experiências em software livreCompartilhando experiências em software livre
Compartilhando experiências em software livre
 
Desenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryDesenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQuery
 
Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
 Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In... Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
Zabbix?!? Sou Dev, o que eu tenho a ver com isso?!? - 3º Zabbix Meetup do In...
 
Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...
Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...
Zabbix - Sou Dev, o que eu tenho a ver com isso? - André Déo (Comunidade Zabb...
 
Java: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalhoJava: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalho
 
Simples pelo simples google android com robo guice
Simples pelo simples   google android com robo guiceSimples pelo simples   google android com robo guice
Simples pelo simples google android com robo guice
 
1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...
1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...
1º Zabbix On The Road - João Pessoa - Zabbix!?!? - Sou Dev, o que eu tenho a ...
 
Por que Java?
Por que Java?Por que Java?
Por que Java?
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
 
Hands on de desenvolvimento rápido de apllicações java ee com forge
Hands on de desenvolvimento rápido de apllicações java ee com forgeHands on de desenvolvimento rápido de apllicações java ee com forge
Hands on de desenvolvimento rápido de apllicações java ee com forge
 
Desenvolvendo aplicativos nativos com React Native
Desenvolvendo aplicativos nativos com React NativeDesenvolvendo aplicativos nativos com React Native
Desenvolvendo aplicativos nativos com React Native
 
I mini curso e torneio robocode.pptx
I mini curso e torneio  robocode.pptxI mini curso e torneio  robocode.pptx
I mini curso e torneio robocode.pptx
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 
Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Por que devo aprender JavaScript?
Por que devo aprender JavaScript?
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Usando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScriptUsando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScript
 

Use Groovy para seus próximos projetos

  • 1. Utilize Groovy nos seus futuros projetos... Márcio Ferreira Analista de Sistemas – BBTec marciowferreira@marciowferreira.net
  • 2. Antes de começar...Antes de começar... Linguagens dinâmicas???Linguagens dinâmicas???
  • 3. Linguagens DinâmicasLinguagens Dinâmicas resumidamente falando...resumidamente falando... • Não há uma definição universal de dados • Interpretada • Tipagem Dinâmica • Duck Typing
  • 4. Atualmente existem vários “sabores”Atualmente existem vários “sabores” de linguagens dinâmicas e estáticade linguagens dinâmicas e estática para a plataforma Java...para a plataforma Java...
  • 5. Estes são alguns...Estes são alguns...
  • 6. Finalmente o Groovy: Uma ra idaṕFinalmente o Groovy: Uma ra idaṕ introdução...introdução... É uma linguagem dinâmica de programação orientada a objetos desenvolvida para a plataforma Java que tem como foco a alta produtividade, tendo como inspiração Ruby, Python e Smaltalk. “ Minha ideia inicial é fazer uma pequena linguagem dinâmica que seja totalmente compativel com Java e tenha toda produtividade e elegância encontrada em Ruby e Python “ (James Strachan)
  • 7. Então por que o Groovy?Então por que o Groovy? ●Java em Linguagem Dinâmica ●Menos código repetitivo ●Facilmente integrável ao Java ●Baixa curva de aprendizagem ●Maximum Productivity
  • 8. Além disso, Groovy já possui todos os recursos já conhecidos do Java...
  • 9. E também adiciona coisas legais deE também adiciona coisas legais de outras linguagens...outras linguagens...
  • 10. Além disso, um código-fonte Java éAlém disso, um código-fonte Java é também um código-fonte Groovytambém um código-fonte Groovy válido...válido... =
  • 11. Então um programador JavaEntão um programador Java também é um programadortambém é um programador Groovy em potencial...Groovy em potencial...
  • 12. Enquanto isso, no mercado deEnquanto isso, no mercado de trabalho... Há vagas...trabalho... Há vagas...
  • 13.
  • 14.
  • 15.
  • 16. Mas como eu instalo???Mas como eu instalo???
  • 19. Importação AutomáticaImportação Automática Groovy importa implicitamente os pacotes groovy.lang.* , groovy.util.* java.lang.* , java.util.* , java.net.* , java.io.* O que nos permite um código assim .:
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Para trabalhar com entradas dePara trabalhar com entradas de usuário em Groovy, use isso.:usuário em Groovy, use isso.:
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Além disso, há todo um universo deAlém disso, há todo um universo de recursos disponíveis...recursos disponíveis... http://groovy.codehaus.org/ - Site oficial http://www.grailsbrasil.com.br/ http://griffon.codehaus.org/ http://grails.org http://groovymag.com