inovando na plataforma java
Post on 13-Jan-2015
566 Views
Preview:
DESCRIPTION
TRANSCRIPT
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éias novas 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
SustentaçãoSegurança
EstruturaPadrão
Confianç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
Qual sua plataforma?VB?
Win32?.NET?
PowerBuilder?PHP?
Python?
Java?
ASP?
Ruby?
Delphi?
Database? ColdFusion?
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 plataforma Java = 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õesQuartz?
Servlets? Session Beans?
JPA?
Hibernate?
Commons?Jasper?
Tomcat?
iText?
JMS?
JAX-WS?
Java Mail?
Spring Security?
Que tal manter todas elas?
Próximo slide por favor!
Linguagem
Pascal?
VB? Cobol?
C#?
Latim?
XML?UML?
Java?
Groovy?
Ruby?Python?
F#?
C++?
Scala?
#FAIL? rs
Linguagem faz parte da plataforma?
Tempooooooooooooo...
Sim, a linguagem Java faz parte da plataforma Java
(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 nomeDate dataNascimento
}
Mais em Produtividade em Java com Grails
Let’s Groovy!
FrameworksStruts 1?
Struts 2?WebWork?
Tapestry 5?Grails?
Wicket?
Hibernate?
EJB 3?
JSF 2?
Spring?
JSP? JSF 1?
Interface
Serviço da Aplicação
Acesso a Dados
Entidades (Domínio)
Uni-dune-tê!
Tendência: Full-stack Framework
Vamos juntar as melhores peças!
GSP
Spring
GORM (Hibernate)
GORM / JPA
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 localmentegrails 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
wanderson@eteg.com.br
Obrigado!
Twitter: @wanswins
top related