Inovando na plataforma Java

1,202 views
1,153 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,202
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Inovando na plataforma Java

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

×