SlideShare una empresa de Scribd logo
1 de 53
Inovando na Plataforma Java Eteg Tecnologia da Informação
Palestrante Wanderson Santos (@wanswins) Arquiteto Corporativo Líder Técnico / Desenvolvedor Instrutor Tecnológico
O que é inovação?
“Idéiasnovas ou melhoradas, de produtos, serviços ou processos
...aplicadas ao mercado...
...que aumentam a eficiência do processo produtivo...
...ou que geram novo ou aprimorado produto.
O que é plataforma?
Plataforma... Elevação Padrão Estrutura Confiança Sustentação Segurança
A plataforma tecnológica é o conjunto que sustenta um software
A plataforma tecnológica provê os elementos básicos para criação, execução e manutenção de um software
Java? ColdFusion? Database? .NET? Win32? Ruby? Qual sua plataforma? VB? Python? Delphi? PHP? PowerBuilder? ASP?
A plataforma Java é o conjunto que sustenta um software Java
A plataforma Java é a máquina virtual + bibliotecas básicas O que seria do Java sem o tipo inteiro?
A plataformaJava = JVM + JARs essenciais Voltamos a sopa de letrinhas! 
Porque inovar em Java?
Manter os ativos (bibliotecas, utilitários, etc.) Vamos converter nossas bibliotecas para Java/.NET!
Manter o conhecimento Vamos aprender como gerar um relatório em Ruby!
Menor esforço para treinamento do time Vamos reaprender toda uma plataforma!
Bibliotecas e Padrões JMS? JPA? Commons? Java Mail? Quartz? Jasper? iText? Session Beans? Servlets? Hibernate? Tomcat? JAX-WS? Spring Security?
Que tal mantertodas elas? Próximo slide por favor! 
Linguagem F#? C#? Scala? XML? Pascal? UML? Java? Ruby? Python? VB? Cobol? Latim? C++? Groovy? #FAIL? rs
Linguagemfaz parte da plataforma? Tempooooooooooooo...
Sim, a linguagem Javafaz parte da plataformaJava (Você gosta da linguagem Java?)
Mas, a linguagem Java é somente uma das partes da plataforma Java! Vivaaaaaaaaaaaaaa!!! 
Linguagens na JVM Groovy (JSR-241) Scala JRuby Fantom  ColdFusion Jython (Python) Rhino (JavaScript) – já integrada ao Java 6
Linguagens dinâmicas É a tendência atual do mercado O resultado do código é instantâneo sem necessidade do ciclo compilação/implantação É possível carregar um novo código em tempo de execução, sem necessidade de compilação, contrato de interface, etc. Cenários: regras de negócio, camada de visão, etc.
Porque usar outra linguagem? Mais produtivas Menos verbosas que Java Injetam métodos de apoio nas bibliotecas essenciais (Java Class Library) [1,2,3].each { println “numero $it” }  Mais poderosas Métodos anônimos (você ainda vai usar um!) Closures
Porque não usar... Podem ser mais lentas que linguagem Java Para maioria dos casos não afeta A produtividade é mais importante! Atenda o cliente, depois otimize o código Você pode voltar pro Java quanto precisar! Suporte a IDEs (algumas) As mais consolidadas já possuem bom suporte, inclusive para debug
Como começar? Sua equipe é menor e você pode treinar a equipe?  CHOOSE YOUR DESTINY  Não tenha medo, é simples! Sua equipe é grande e o tempo pra aprendizado é curto? Vá de Groovy! (mesmo que o projeto já tenha começado)
Porquê Groovy? Padrão da Plataforma Java (JSR-241) Já possui um bom ecossistema Aceita sintaxe Java em .groovy Curva de aprendizado reduzida -  você pode aprender sob demanda! Se não sabe em Groovy, faça em Java! Why Groovy? http://dzone.com/j9lQ
Entidade em Java public class Usuario { private String nome; private Date dataNascimento; public String getNome() { 	return nome;    }    /*..não cabe no slide! */ }
Entidade em Groovy class Usuario { String nome Date dataNascimento } Mais em Produtividade em Java com Grails Let’s Groovy! 
Frameworks Hibernate? JSF 1? JSP? WebWork? Struts 2? JSF 2? Struts 1? Wicket? Spring? Grails? Tapestry 5? EJB 3?
Interface Serviço da Aplicação Entidades (Domínio) Acesso a Dados Uni-dune-tê!
Tendência: Full-stack Framework Vamos juntar as melhores peças!
GSP Spring GORM / JPA GORM (Hibernate)
grails create-app MinhaApp 4 horas em 1 minuto!
Framework full-stack que une os frameworks Java mais utilizados (Hibernate, Spring, etc.) Utiliza linguagem Groovy ou Java Todo feito em Java, mas você programa em Groovy! Utiliza “Programação por Convenção” Elimina necessidade de configuração
Grails É mantida pela SpringSource, do grupo VMWare  Sim, a responsável pelo Spring Framework Extensível através de plugins Tem plugin pra TUDO! Baseado em bibliotecas Java que você conhece ou vai conhecer: Autenticação e Autorização Acesso a bancos NOSQL Execução em Background Relatórios e muito mais...
Como utilizar Grails? Baixar o pacote mais recente em www.grails.org Descompactar em um pasta e adicionar $GRAILS_HOME no PATH Criar a aplicação:  grails create-app minhaApp Adicionar entidades de Domain e Controller seguindo a convenção  Eclipse, IDEA ou vi/notepad  Rodar a aplicação localmente grails run-app Mas já? 
Mais Grails? Acesse: Produtividade em Java com Grails
Desktop X Web Implantação Ubíqua X Usabilidade
Tendência: Interfaces Ricas Vamos juntar as melhores peças!
AJAX X RIA Duas abordagens
Também é J, rs 
Aprenda jQuery de forma guiada?www.visualjquery.com Tutoriais são excelentes!
Tudo em casa!
Mais JavaFX? Acesse: Aplicações de Interface Rica na Plataforma Java
Obrigado! wanderson@eteg.com.br Twitter: @wanswins

Más contenido relacionado

La actualidad más candente

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Apresentação sobre Zabbix na iDEZ 2012
Apresentação sobre Zabbix na iDEZ 2012Apresentação sobre Zabbix na iDEZ 2012
Apresentação sobre Zabbix na iDEZ 2012Aécio Pires
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariTaller Negócio Digitais
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parecejesuinoPower
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?Thiago Ganzarolli
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsLeonardo Comelli
 
Gerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com PuppetGerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com PuppetAécio Pires
 
Discutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoDiscutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoThoughtworks
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosIgor Abade
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo RealLeandro Silva
 
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...tdc-globalcode
 
Bugs, DVCS e tools
Bugs, DVCS e toolsBugs, DVCS e tools
Bugs, DVCS e toolsPaulo Mattos
 
Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Leandro Silva
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDDPHP Day Curitiba
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JSNàtali Cabral
 

La actualidad más candente (19)

Começando errado com php
Começando errado com phpComeçando errado com php
Começando errado com php
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
A saga do desenvolvedor java
A saga do desenvolvedor javaA saga do desenvolvedor java
A saga do desenvolvedor java
 
Apresentação sobre Zabbix na iDEZ 2012
Apresentação sobre Zabbix na iDEZ 2012Apresentação sobre Zabbix na iDEZ 2012
Apresentação sobre Zabbix na iDEZ 2012
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parece
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 
Quem e dev ops
Quem e dev opsQuem e dev ops
Quem e dev ops
 
Gerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com PuppetGerenciamento e automatização de configuração de uma infraestrutura com Puppet
Gerenciamento e automatização de configuração de uma infraestrutura com Puppet
 
Discutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoDiscutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo Sato
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo Real
 
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
 
Bugs, DVCS e tools
Bugs, DVCS e toolsBugs, DVCS e tools
Bugs, DVCS e tools
 
Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JS
 

Destacado

Apostila Tecnologia da Informação (TI)
Apostila Tecnologia da Informação (TI)Apostila Tecnologia da Informação (TI)
Apostila Tecnologia da Informação (TI)Ricardo Terra
 
Procesadores de texto
Procesadores de textoProcesadores de texto
Procesadores de textosaavedra25
 
Busquedas avanzadas
Busquedas avanzadasBusquedas avanzadas
Busquedas avanzadasRuthunivo
 
Retrato do Brasil Janeiro 2013
Retrato do Brasil Janeiro 2013Retrato do Brasil Janeiro 2013
Retrato do Brasil Janeiro 2013Marcelo Bancalero
 
Presentación de finanzas publicas
Presentación de finanzas publicasPresentación de finanzas publicas
Presentación de finanzas publicaslavenezueladeant
 
Ministerio feminino por alan rennê alexandrino lima
Ministerio feminino por alan rennê alexandrino limaMinisterio feminino por alan rennê alexandrino lima
Ministerio feminino por alan rennê alexandrino limaadson232
 
S U N S E T O U R
S  U  N  S E T O U RS  U  N  S E T O U R
S U N S E T O U RSunsetour
 
Detecção de quedas em robôs móveis com visão monocular linear
Detecção de quedas em robôs móveis com visão monocular linearDetecção de quedas em robôs móveis com visão monocular linear
Detecção de quedas em robôs móveis com visão monocular linearNicolau Werneck
 
Retrato do Brasil outubro hp
Retrato do Brasil outubro hpRetrato do Brasil outubro hp
Retrato do Brasil outubro hpMarcelo Bancalero
 
Um olhar ambiental na escola polivalente
Um olhar ambiental na escola polivalenteUm olhar ambiental na escola polivalente
Um olhar ambiental na escola polivalenteJayan Duarte
 
Relatório CPMI do Cachoeira parte 3
Relatório CPMI do Cachoeira parte 3Relatório CPMI do Cachoeira parte 3
Relatório CPMI do Cachoeira parte 3Marcelo Bancalero
 

Destacado (20)

Apostila Tecnologia da Informação (TI)
Apostila Tecnologia da Informação (TI)Apostila Tecnologia da Informação (TI)
Apostila Tecnologia da Informação (TI)
 
Mito da Caverna
Mito da CavernaMito da Caverna
Mito da Caverna
 
Procesadores de texto
Procesadores de textoProcesadores de texto
Procesadores de texto
 
Busquedas avanzadas
Busquedas avanzadasBusquedas avanzadas
Busquedas avanzadas
 
Retrato do Brasil Janeiro 2013
Retrato do Brasil Janeiro 2013Retrato do Brasil Janeiro 2013
Retrato do Brasil Janeiro 2013
 
Presentación de finanzas publicas
Presentación de finanzas publicasPresentación de finanzas publicas
Presentación de finanzas publicas
 
Sexta fei
Sexta feiSexta fei
Sexta fei
 
Stephen William Hawking
Stephen William HawkingStephen William Hawking
Stephen William Hawking
 
Ministerio feminino por alan rennê alexandrino lima
Ministerio feminino por alan rennê alexandrino limaMinisterio feminino por alan rennê alexandrino lima
Ministerio feminino por alan rennê alexandrino lima
 
S U N S E T O U R
S  U  N  S E T O U RS  U  N  S E T O U R
S U N S E T O U R
 
LA Poster
LA PosterLA Poster
LA Poster
 
Detecção de quedas em robôs móveis com visão monocular linear
Detecção de quedas em robôs móveis com visão monocular linearDetecção de quedas em robôs móveis com visão monocular linear
Detecção de quedas em robôs móveis com visão monocular linear
 
Retrato do Brasil outubro hp
Retrato do Brasil outubro hpRetrato do Brasil outubro hp
Retrato do Brasil outubro hp
 
Un desayuno especial
Un desayuno especialUn desayuno especial
Un desayuno especial
 
Um olhar ambiental na escola polivalente
Um olhar ambiental na escola polivalenteUm olhar ambiental na escola polivalente
Um olhar ambiental na escola polivalente
 
LoR-Werbaneth
LoR-WerbanethLoR-Werbaneth
LoR-Werbaneth
 
CCIUDADANA
CCIUDADANACCIUDADANA
CCIUDADANA
 
Visanet 5 pgr cometeu crime
Visanet 5   pgr cometeu crimeVisanet 5   pgr cometeu crime
Visanet 5 pgr cometeu crime
 
Mudança de Vida
Mudança de VidaMudança de Vida
Mudança de Vida
 
Relatório CPMI do Cachoeira parte 3
Relatório CPMI do Cachoeira parte 3Relatório CPMI do Cachoeira parte 3
Relatório CPMI do Cachoeira parte 3
 

Similar a Inovando na Plataforma Java com Grails e JavaFX

Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com GrailsWanderson Oliveira
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no javaPedro Cavalero
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B Rguestb9d145
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineFrederico Maia Arantes
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Javaelliando dias
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webMiguel Galves
 
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
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeGlobalcode
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilElias Nogueira
 

Similar a Inovando na Plataforma Java com Grails e JavaFX (20)

Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no java
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App Engine
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Frameworks em Java
Frameworks em JavaFrameworks em Java
Frameworks em Java
 
Aula 1 1
Aula 1 1Aula 1 1
Aula 1 1
 
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
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto Globalcode
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 

Inovando na Plataforma Java com Grails e JavaFX

  • 1. Inovando na Plataforma Java Eteg Tecnologia da Informação
  • 2. Palestrante Wanderson Santos (@wanswins) Arquiteto Corporativo Líder Técnico / Desenvolvedor Instrutor Tecnológico
  • 3. O que é inovação?
  • 4. “Idéiasnovas ou melhoradas, de produtos, serviços ou processos
  • 6. ...que aumentam a eficiência do processo produtivo...
  • 7. ...ou que geram novo ou aprimorado produto.
  • 8. O que é plataforma?
  • 9.
  • 10.
  • 11.
  • 12. Plataforma... Elevação Padrão Estrutura Confiança Sustentação Segurança
  • 13. A plataforma tecnológica é o conjunto que sustenta um software
  • 14. A plataforma tecnológica provê os elementos básicos para criação, execução e manutenção de um software
  • 15. Java? ColdFusion? Database? .NET? Win32? Ruby? Qual sua plataforma? VB? Python? Delphi? PHP? PowerBuilder? ASP?
  • 16. A plataforma Java é o conjunto que sustenta um software Java
  • 17. A plataforma Java é a máquina virtual + bibliotecas básicas O que seria do Java sem o tipo inteiro?
  • 18. A plataformaJava = JVM + JARs essenciais Voltamos a sopa de letrinhas! 
  • 20. Manter os ativos (bibliotecas, utilitários, etc.) Vamos converter nossas bibliotecas para Java/.NET!
  • 21. Manter o conhecimento Vamos aprender como gerar um relatório em Ruby!
  • 22. Menor esforço para treinamento do time Vamos reaprender toda uma plataforma!
  • 23. Bibliotecas e Padrões JMS? JPA? Commons? Java Mail? Quartz? Jasper? iText? Session Beans? Servlets? Hibernate? Tomcat? JAX-WS? Spring Security?
  • 24. Que tal mantertodas elas? Próximo slide por favor! 
  • 25. Linguagem F#? C#? Scala? XML? Pascal? UML? Java? Ruby? Python? VB? Cobol? Latim? C++? Groovy? #FAIL? rs
  • 26. Linguagemfaz parte da plataforma? Tempooooooooooooo...
  • 27. Sim, a linguagem Javafaz parte da plataformaJava (Você gosta da linguagem Java?)
  • 28. Mas, a linguagem Java é somente uma das partes da plataforma Java! Vivaaaaaaaaaaaaaa!!! 
  • 29. Linguagens na JVM Groovy (JSR-241) Scala JRuby Fantom ColdFusion Jython (Python) Rhino (JavaScript) – já integrada ao Java 6
  • 30. Linguagens dinâmicas É a tendência atual do mercado O resultado do código é instantâneo sem necessidade do ciclo compilação/implantação É possível carregar um novo código em tempo de execução, sem necessidade de compilação, contrato de interface, etc. Cenários: regras de negócio, camada de visão, etc.
  • 31. Porque usar outra linguagem? Mais produtivas Menos verbosas que Java Injetam métodos de apoio nas bibliotecas essenciais (Java Class Library) [1,2,3].each { println “numero $it” } Mais poderosas Métodos anônimos (você ainda vai usar um!) Closures
  • 32. Porque não usar... Podem ser mais lentas que linguagem Java Para maioria dos casos não afeta A produtividade é mais importante! Atenda o cliente, depois otimize o código Você pode voltar pro Java quanto precisar! Suporte a IDEs (algumas) As mais consolidadas já possuem bom suporte, inclusive para debug
  • 33. Como começar? Sua equipe é menor e você pode treinar a equipe? CHOOSE YOUR DESTINY  Não tenha medo, é simples! Sua equipe é grande e o tempo pra aprendizado é curto? Vá de Groovy! (mesmo que o projeto já tenha começado)
  • 34. Porquê Groovy? Padrão da Plataforma Java (JSR-241) Já possui um bom ecossistema Aceita sintaxe Java em .groovy Curva de aprendizado reduzida - você pode aprender sob demanda! Se não sabe em Groovy, faça em Java! Why Groovy? http://dzone.com/j9lQ
  • 35. Entidade em Java public class Usuario { private String nome; private Date dataNascimento; public String getNome() { return nome; } /*..não cabe no slide! */ }
  • 36. Entidade em Groovy class Usuario { String nome Date dataNascimento } Mais em Produtividade em Java com Grails Let’s Groovy! 
  • 37. Frameworks Hibernate? JSF 1? JSP? WebWork? Struts 2? JSF 2? Struts 1? Wicket? Spring? Grails? Tapestry 5? EJB 3?
  • 38. Interface Serviço da Aplicação Entidades (Domínio) Acesso a Dados Uni-dune-tê!
  • 39. Tendência: Full-stack Framework Vamos juntar as melhores peças!
  • 40. GSP Spring GORM / JPA GORM (Hibernate)
  • 41. grails create-app MinhaApp 4 horas em 1 minuto!
  • 42. Framework full-stack que une os frameworks Java mais utilizados (Hibernate, Spring, etc.) Utiliza linguagem Groovy ou Java Todo feito em Java, mas você programa em Groovy! Utiliza “Programação por Convenção” Elimina necessidade de configuração
  • 43. Grails É mantida pela SpringSource, do grupo VMWare Sim, a responsável pelo Spring Framework Extensível através de plugins Tem plugin pra TUDO! Baseado em bibliotecas Java que você conhece ou vai conhecer: Autenticação e Autorização Acesso a bancos NOSQL Execução em Background Relatórios e muito mais...
  • 44. Como utilizar Grails? Baixar o pacote mais recente em www.grails.org Descompactar em um pasta e adicionar $GRAILS_HOME no PATH Criar a aplicação: grails create-app minhaApp Adicionar entidades de Domain e Controller seguindo a convenção Eclipse, IDEA ou vi/notepad  Rodar a aplicação localmente grails run-app Mas já? 
  • 45. Mais Grails? Acesse: Produtividade em Java com Grails
  • 46. Desktop X Web Implantação Ubíqua X Usabilidade
  • 47. Tendência: Interfaces Ricas Vamos juntar as melhores peças!
  • 48. AJAX X RIA Duas abordagens
  • 49. Também é J, rs 
  • 50. Aprenda jQuery de forma guiada?www.visualjquery.com Tutoriais são excelentes!
  • 52. Mais JavaFX? Acesse: Aplicações de Interface Rica na Plataforma Java