2. Apresentação
Saulo Arruda <sauloarruda@gmail.com>
Especialista em Melhoria do Processo de Software pela UFLA
Diretor de TI da Agence Consultoria
Diretor Pedagógico da Agence Educacional
Coordenador do JUG-MS
10 anos de experiência em projetos de software
4. Ecossistema Java
Java é uma linguagem de programação orientada a objetos;
A tecnologia Java é utiliza em todos os principais segmentos da
indústria, presente em uma ampla gama de dispositivos;
A Plataforma Java é composta pela Java Virtual Machine (JVM)
e pela Java Application Programming Interface (API);
Java Certification, Java Comunity Process (JCP), Java User
Group (JUG), java.net
5.
6.
7. Onde Java é usado?
A tecnologia Java está presente em mais de 4,5 bilhões de
dispositivos, incluindo:
Mais de 800 milhões de PCs;
2,1 bilhões de telefones celulares e outros dispositivos portáteis;
3,5 bilhões de cartões inteligentes;
Além de set-top boxes, impressoras, webcams, jogos, sistemas
de navegação para automóveis, terminais lotéricos, dispositivos
médicos, guichês de pagamento de estacionamento etc.
8.
9. Porque os desenvolvedores
preferem Java?
Criar um software em uma plataforma e executá-lo em praticamente
qualquer outra;
Criar programas para execução em navegadores e serviços da Web;
Desenvolver aplicativos no lado do servidor usados tanto em fóruns,
lojas e pesquisas on-line, como no processamento de formulários
HTML, e muito mais;
Combinar aplicativos ou serviços usando a linguagem Java para criar
aplicativos ou serviços altamente personalizados;
Criar aplicativos potentes e eficazes para telefones celulares,
processadores remotos, produtos de consumo de baixo custo e
praticamente qualquer outro dispositivo com tecnologia digital;
15. Edições do Java
Java está disponível em três edições:
JSE (Java Standard Edition): aplicações desktop/standalone;
16. Edições do Java
Java está disponível em três edições:
JSE (Java Standard Edition): aplicações desktop/standalone;
JME (Java Micro Edition): aplicações para dispositivos móveis;
17. Edições do Java
Java está disponível em três edições:
JSE (Java Standard Edition): aplicações desktop/standalone;
JME (Java Micro Edition): aplicações para dispositivos móveis;
JEE (Java Enterprise Edition): aplicações web coorporativas;
20. Mercado JSE
Aplicações Desktop Standalone;
Faz amplo uso da API Java;
Adoção na maioria das Universidades;
Atualmente na versão JRE 1.6;
21. Principais Recursos
Swing: Toolkit para desenvolvimento de interfaces gráficas
independentes de sistema operacional.
JDBC: Conectividade com banco de dados independente de
fornecedor e sistema operacional.
JavaWeb Start: Instalação, execução e atualização de aplicações
pela Web.
JavaFX: Tookit para interface gráficas ricas para web, desktop e
mobile;
22. Principais Recursos
Linguagens Dinâmicas: Possibilidade de uso de outras
linguagens como, por exemplo:
Groovy
Scala
JRuby , Rhino (JavaScript), Quercus (PHP), Jython
e muitas outras...
23. Frameworks
Spring Framework: várias ferramentas para desenvolvimento de
aplicações OO, como IoC e DI, além de milhares de utilitários;
JUnit: Framework para testes unitários;
Hibernate: framework para persistência de objetos;
Ant e Maven: ferramentas para build de projetos;
Velocity e Freemarker: ferramentas para uso de templates;
24. Aplicações
Jude: Ferramenta para modelagem UML;
CrashPlan: Ferramenta de Backup;
Eclipse, Netbeans, IntelliJ IDEA: IDEs para desenvolvimento
em Java e outras linguagens;
Programa do IRPF: Solução para declaração do Imposto de
Renda do Governo Federal.
27. Oportunidades
Amplo uso da tecnologia tanto no meio acadêmico quanto no
mercado;
Novas opções como linguagens dinâmicas e JavaFX proporcionam um
novo mercado;
28. Oportunidades
Amplo uso da tecnologia tanto no meio acadêmico quanto no
mercado;
Novas opções como linguagens dinâmicas e JavaFX proporcionam um
novo mercado;
Maior comunidade do mundo a sua disposição: JUG-MS, GUJ,
JavaFree, etc...
29. Oportunidades
Amplo uso da tecnologia tanto no meio acadêmico quanto no
mercado;
Novas opções como linguagens dinâmicas e JavaFX proporcionam um
novo mercado;
Maior comunidade do mundo a sua disposição: JUG-MS, GUJ,
JavaFree, etc...
Hoje Java é a primeira linguagem que todo programador aprende, isto
é, mais gente disponível no mercado.
30. Oportunidades
Amplo uso da tecnologia tanto no meio acadêmico quanto no
mercado;
Novas opções como linguagens dinâmicas e JavaFX proporcionam um
novo mercado;
Maior comunidade do mundo a sua disposição: JUG-MS, GUJ,
JavaFree, etc...
Hoje Java é a primeira linguagem que todo programador aprende, isto
é, mais gente disponível no mercado.
Performance não é mais um problema!
33. Ameaças
Nos últimos anos, a evolução da plataforma Java está muito mais
lenta;
Várias empresas com problemas usando Java estão buscando
alternativas: .NET, Ruby On Rails, PHP, Python;
34. Ameaças
Nos últimos anos, a evolução da plataforma Java está muito mais
lenta;
Várias empresas com problemas usando Java estão buscando
alternativas: .NET, Ruby On Rails, PHP, Python;
35. Ameaças
Nos últimos anos, a evolução da plataforma Java está muito mais
lenta;
Várias empresas com problemas usando Java estão buscando
alternativas: .NET, Ruby On Rails, PHP, Python;
Na edição JSE o céu está mais azul...
38. Mercado JEE
Aplicações Web coorporativas;
Envolve grandes projetos ou pequenas aplicações;
Uso de diversas tecnologias dentro da plataforma Java para
desenvolvimento de aplicações distribuídas;
Atualmente na versão JEE 1.5
39. Principais Recursos
Aplicações Web: Sistemas que provêem páginas dinâmicas para
Web;
JavaServer Faces (JSF): Framework para desenvolvimento de
páginas web;
Java Persistence API (JPA): Framework para persistência;
Java Transaction API: Serviço de transação distribuída;
Webservices: Tecnologias para implementação de Webservices;
40. Principais Recursos
Enterprise Java Beans (EJB): Serviços distribuídos de regras
de negócio;
Session Bean: Objeto que é instanciado e usado
remotamente.
Message-Driven Bean: Objeto que processa mensagens de
forma assíncrona.
41. Frameworks
RichFaces, ICEFaces, MyFaces: Componentes para JSF;
SpringMVC, Struts2, VRaptor, JBoss Seam: Alternativas ao
JavaServer Faces como framework Web;
JBoss Rules/Drools: Framework para implementação de
regras;
JBoss JBPM: Implementação de Workflow;
Open EJB: EJB fora de um servidor de aplicação;
43. Aplicações
IRPF: Agora falando de toda a solução;
E-SAJ do TJMS: Vários serviços on-line usando JEE;
SAP: Maior ERP do mundo;
Websites: Claro, TIM, TAM, Casas Bahia, Banco do Brasil, ...
51. Ameaças
Grandes dificuldades com implantação de Sistemas JEE;
Empresas abandonando a plataforma Java, especialmente JEE;
Curva de aprendizado MUITO alta para um bom desenvolvedor;
54. Mercado JME
Desenvolvimento para dispositivos Móveis
Usado em celulares, cartões com chip, TV digital, Blueray,
carros, impressoras, robôs, etc.
Uso da linguagem Java para desenvolvimento para praticamente
qualquer tipo de dispositivo limitado.
55. Principais Recursos
Boa API de programação incluindo: Bluetooth, Gráficos 3D,
Webservices, Multimídia, Internacionalização, Gateway de
Pagamentos, SMS, etc.
Integração com Java FX;
Extensões proprietárias de fabricantes;
56. Frameworks
Floggy: Persistência de objetos;
LWUIT: Tookit para interface gráfica;
Google Maps API: Acesso a mapas;
Polish: Diversas ferramentas para desenvolvimento JME: UI
Toolkit, Persistência, Comunicação Client/Server, Banco de
Dados e Portabilidade;
57. Aplicações
Gmail: Acesso ao e-mail do google
Opera Mini: Navegador Web;
Jogos EA Mobile: diversos jogos em Java ME;
Skype Lite, eBuddy: ligações VOIP e instant messenger
63. Ameaças
iTunes Store (iPhone) cresceu rapidamente e abocanhou uma
grande fatia do mercado! Falta um ambiente similar para JME;
64. Ameaças
iTunes Store (iPhone) cresceu rapidamente e abocanhou uma
grande fatia do mercado! Falta um ambiente similar para JME;
Ainda existem muitas limitações para aplicações JME;
65. Ameaças
iTunes Store (iPhone) cresceu rapidamente e abocanhou uma
grande fatia do mercado! Falta um ambiente similar para JME;
Ainda existem muitas limitações para aplicações JME;
Dificuldades de portabilidade entre inúmeros aparelhos;
76. Licença
Você pode:
copiar, distribuir, exibir e executar a obra
criar obras derivadas
Sob as seguintes condições:
Atribuição. Você deve dar crédito ao
autor original, da forma especificada
pelo autor ou licenciante.
77. Referências
Saiba mais sobre a tecnologia Java (http://www.java.com/pt_BR/about/)
About the Java Technology (http://java.sun.com/docs/books/tutorial/
getStarted/intro/definition.html)
JavaEE Technologies (http://java.sun.com/javaee/technologies/)
The JavaEE 5 Tutorial (http://java.sun.com/javaee/5/docs/tutorial/doc/)
Java EE Compatibility (http://java.sun.com/javaee/overview/compatibility.jsp)
JME - The Most Ubiquitous Application Plataform for Mobile Devices (http://
java.sun.com/javame/index.jsp)
Notas del editor
Desenvolvedores Java tem melhores sal&#xE1;rios em m&#xE9;dia
Maiores chances de aprendizado devido a Java exigir mais!