Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Inovando na plataforma Java

1,283 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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 />

×