por Rafael Carneiro [email_address] Conhecendo o Java 30/11/2007
Agenda <ul><li>A História </li></ul><ul><li>O que é Java? </li></ul><ul><li>JCP </li></ul><ul><li>Prog. Orientada a Objeto...
Rafael Carneiro V. Batista <ul><li>Coordenador dos eventos Café com Tapioca do CEJUG; </li></ul><ul><li>Coordenador do Por...
A História 30/11/2007
Como Java nasceu… <ul><li>Patrick Naughton, engenheiro da Sun, estava cansado e iria sair; </li></ul><ul><li>Scott McNealy...
Como Java nasceu… <ul><li>A Sun, então, faz sua contra-proposta: cria o projeto Green para desenvolver algo inovador; </li...
Como Java nasceu… <ul><li>Começaram a desenvolver uma nova linguagem, batizada de Oak; </li></ul><ul><ul><li>Criada por Ja...
Como Java nasceu… <ul><li>Depois de 18 meses, a Sun transforma o projeto Green em uma empresa, chamada “First Person”e tir...
Enfim, Java <ul><li>A linguagem Oak se tornaria o produto. Naughton sugere que seja distribuída gratuitamente na web; </li...
Java hoje <ul><li>Java fez 10 anos em 2005; </li></ul><ul><li>Evolução: </li></ul><ul><ul><li>Java 1.0a; </li></ul></ul><u...
O que é Java? 30/11/2007
O que é Java? <ul><li>Java é... </li></ul><ul><ul><li>Um software? </li></ul></ul><ul><ul><li>Uma tecnologia? </li></ul></...
Jawa
Java Mayan (Malhação)?
JavaScript?
Java é tudo isso <ul><li>Simples, orientada a objetos; </li></ul><ul><li>Independente de plataforma (WORA); </li></ul><ul>...
Java é… <ul><li>Orientada a objetos; </li></ul><ul><li>Híbrida (compilada e interpretada); </li></ul><ul><li>Semelhante a ...
Java Community Process 30/11/2007
Java é software?
Java é uma Especificação The Java Language Specification  Especifica a linguagem de programação Java, sintática e semantic...
Porque uma especificação? <ul><li>Organizações podem criar suas próprias versões de Java; </li></ul><ul><li>Todas elas ser...
Quem faz a especificação? <ul><li>No início, quem criou Java foi a Sun; </li></ul><ul><li>A partir de 1998, foi criado o J...
Quem participa do JCP <ul><li>Mais de 900 pessoas, empresas e organizações sem fins lucrativos; </li></ul><ul><ul><li>Empr...
Como participar <ul><li>Assinando a JSPA (Java Specification Participation Agreement) e pagando a anuidade; </li></ul><ul>...
E quem implementa o Java? <ul><li>Muita gente: </li></ul><ul><ul><li>A Sun Microsystems (a mais usada); </li></ul></ul><ul...
OpenSource ou Proprietária? <ul><li>Java  ERA  uma especificação aberta, agora, Java é Open Source, sob a  licença  GPL v2...
Mitos <ul><li>Java é lenta! </li></ul><ul><ul><li>As primeiras versões eram lentas, mas as novas são até mais rápidas que ...
Mitos <ul><li>Java só serve para fazer Applets! </li></ul><ul><ul><li>Ledo engano. Java serve para fazer de clientes deskt...
Por que usar Java? <ul><li>Precisa de mais motivos? </li></ul><ul><ul><li>Projetada para redes desde o começo –“The networ...
Programação Orientada a Objetos 30/11/2007
Engenharia de Software <ul><li>Desenvolver software não é uma arte; </li></ul><ul><li>A Engenharia de Software busca forma...
Java é Orientada a Objetos <ul><li>Para desenvolver bem em Java é preciso saber os conceitos de OO; </li></ul><ul><li>Se n...
Orientação a Objetos <ul><li>Análise, projeto e programação; </li></ul><ul><li>Mapear o mundo real no mundo computacional ...
Conceitos <ul><li>Abstração; </li></ul><ul><li>Encapsulamento; </li></ul><ul><li>Modularidade; </li></ul><ul><li>Objetos; ...
Abstração <ul><li>Ignorar aspectos irrelevantes e concentrar nos principais; </li></ul><ul><li>Tipos: </li></ul><ul><ul><l...
Encapsulamento <ul><li>Separar os aspectos externos (o que faz) dos aspectos internos (como faz): </li></ul><ul><ul><li>As...
Modularidade <ul><li>Decomposição do sistema em módulos: </li></ul><ul><ul><li>Coesos (baixo acoplamento); </li></ul></ul>...
Objetos <ul><li>Conceito central deste paradigma; </li></ul><ul><li>Entidades que incorporam abstrações relevantes do prob...
Classes <ul><li>Objetos que possuem mesma estrutura e comportamento são de uma mesma classe; </li></ul><ul><li>Definimos c...
Ligações e Associações <ul><li>Objetos relacionam-se entre si: </li></ul><ul><ul><li>Ligação: conexão entre objetos; </li>...
Composição e Agregação <ul><li>Associações todo-parte; </li></ul><ul><ul><li>Objetos complexos são compostos de objetos ma...
Herança <ul><li>Quando classes têm semelhanças podemos generalizá-las; </li></ul><ul><li>Hierarquias: </li></ul><ul><ul><l...
Mensagens e Métodos <ul><li>Objetos trocam mensagens para se comunicar (deve ser a única forma); </li></ul><ul><li>Métodos...
Persistência <ul><li>Capacidade do objeto de transcender o tempo e o espaço; </li></ul><ul><ul><li>Armazenamento em banco ...
Classes e operações abstratas <ul><li>Classes abstratas não podem ser instanciadas; </li></ul><ul><li>Operações abstratas ...
Sobrecarga e sobrescrita <ul><li>Sobrecarga: operações distintas com o mesmo nome; </li></ul><ul><li>Sobrescrita: subclass...
Polimorfismo <ul><li>Habilidade de tomar várias formas. </li></ul>09/10/2007
Arquitetura 30/11/2007
Java é muita coisa <ul><li>A Linguagem de programação Java; </li></ul><ul><li>O ambiente de execução Java; </li></ul><ul><...
Plataforma Java 2 <ul><li>Desde a versão 1.2 até a 1.5, passou a ser chamada de “Java 2” e foi dividida em: </li></ul><ul>...
Novos ares <ul><li>A partir da versão 6, tira-se o “2”: </li></ul><ul><ul><li>Java Platform, Standard Edition 6 ou Java SE...
Java Platform, Standard Edition <ul><li>Ferramentas de desenvolvimento + API núcleo da plataforma Java; </li></ul><ul><ul>...
Java Development Kit <ul><li>Somente para os programadores; </li></ul><ul><li>Contém: </li></ul><ul><ul><li>Ferramentas de...
Java Runtime Environment <ul><li>Necessária para rodar programas Java, pois além de compilada, Java também é interpretada;...
Feramentas Disponíveis <ul><li>Compilador (javac); </li></ul><ul><li>Interpretador (java); </li></ul><ul><li>Gerador de do...
Plataforma suportadas <ul><li>A Sun dá suporte às seguintes plataformas: </li></ul><ul><ul><li>Windows i586 / AMD64; </li>...
Write Once, Run Anywhere <ul><li>Java é compilada e interpretada: </li></ul><ul><ul><li>1. Códigos das classes são compila...
Write Once, Run Anywhere
Principais APIs 09/10/2007
Principais APIs <ul><li>AWT/Swing: interfaces gráficas; </li></ul><ul><li>Java2D: desenho; </li></ul><ul><li>JDBC: acesso ...
Principais APIs <ul><li>Networking: transmissão pela rede; </li></ul><ul><li>Security: segurança; </li></ul><ul><li>Serial...
Java Platform, Enterprise Edition <ul><li>Permite o desenvolvimento de aplicações corporativas: </li></ul><ul><ul><li>Mult...
Servlets, JSP e EJBs <ul><li>Servlets e JSPs: </li></ul><ul><ul><li>Componentes que respondem à requisições web, usados pa...
Outras tecnologias <ul><li>Java EE não é só Servlets e EJB: </li></ul><ul><ul><li>RMI/IIOP e Java IDL: conectividade; </li...
Servidores Java EE <ul><li>Ao contrário do Java SE, a implementação da Sun é só para referência; </li></ul><ul><li>Servido...
Java Platform, Mobile Edition <ul><li>Permite o desenvolvimento de aplicações para dispositivos móveis: </li></ul><ul><ul>...
Configurações Java ME <ul><li>Atualmente são duas: </li></ul><ul><ul><li>CLDC: Connected Limited Device Configuration; </l...
Java em todo lugar 30/11/2007
Java está em todo lugar
Applets 09/10/2007
Enterprise 09/10/2007
Móveis 09/10/2007
Desktop 09/10/2007
De ponta a ponta 09/10/2007
Como começar 30/11/2007
Preparando o Ambiente <ul><li>Fazer download do JDK </li></ul><ul><li>E também da documentação </li></ul><ul><ul><li>http:...
Instalando <ul><li>Windows </li></ul><ul><ul><li>Instalador padrão Microsoft, simplificado. </li></ul></ul><ul><ul><li>Doc...
Escrevendo Programas <ul><li>Use uma IDE: </li></ul><ul><ul><li>Eclipse; </li></ul></ul><ul><ul><li>NetBeans; </li></ul></...
Exemplos e Produtividade 30/11/2007
Java e o Mercado 30/11/2007
Empresas 09/10/2007
O mercado em números <ul><li>Informações do JavaOne: </li></ul><ul><ul><li>900+ milhoes de micros rodando aplicacoes Java;...
O mercado em números <ul><li>Informações do JavaOne: </li></ul><ul><ul><li>635 modelos de celular no mundo com Java; </li>...
O mercado em números <ul><li>Estimativa que Java movimenta US$ 100 bilhões / ano e vem crescendo; </li></ul><ul><li>A Sun ...
O mercado em números <ul><li>Segundo o Instituto Gartner: </li></ul><ul><ul><li>Java é a tecnologia escolhida pelas empres...
Mercado Brasileiro <ul><li>Fonte: DFJUG </li></ul>09/10/2007
Mercado Brasileiro <ul><li>Fonte: DFJUG </li></ul>
Mercado Brasileiro <ul><li>Fonte: DFJUG </li></ul>
Mercado Brasileiro <ul><li>Fonte: DFJUG </li></ul>
Mercado Brasileiro <ul><li>5 milhões de desenvolvedores Java no Mundo. </li></ul><ul><ul><li>Estima-se 50 mil no Brasil </...
Empregos <ul><li>Oportunidade:  </li></ul><ul><ul><li>Muitas vagas surgindo; </li></ul></ul><ul><ul><li>Poucos capacitados...
Certificações <ul><li>A Sun cria provas para certificar profissionais na plataforma Java;  </li></ul><ul><li>O instituto T...
As Certificações
Comunidades 30/11/2007
Java e OpenSource <ul><li>Centenas de projetos no SourceForge: perde apenas para C/C++; </li></ul><ul><li>Primeiro lugar n...
Comunidades Virtuais <ul><li>PortalJava (http://www.portaljava.com); </li></ul><ul><li>GUJ (http://www.guj.com.br); </li><...
Como participar <ul><li>O que podem fazer por você: </li></ul><ul><ul><li>Notícias; </li></ul></ul><ul><ul><li>Artigos e t...
Grupos de Usuário 09/10/2007
CEJUG!
Atividades <ul><li>Cursos; </li></ul><ul><li>Grupos de estudo; </li></ul><ul><li>Reuniões mensais; </li></ul><ul><li>Pales...
Revistas
Futuro e Tendências 30/11/2007
Tendências <ul><li>JavaME – Aplicações para dispositivos móveis. </li></ul><ul><ul><li>Mercado em ampla expansão. </li></u...
Tendências <ul><li>AOP – Programação Orientada a Aspectos </li></ul><ul><ul><li>Criada em 1997 pela Xerox; </li></ul></ul>...
Tendências <ul><li>Web 2.0 e AJAX </li></ul><ul><ul><li>Novo conceito para desenvolvimento de páginas e sistemas web; </li...
Tendências <ul><li>Profissonal </li></ul><ul><ul><li>Cuidado com a “novidade do mês” </li></ul></ul><ul><ul><li>Mais que s...
E agora? 30/11/2007
Gostei, quero me aprofundar <ul><li>Você está com sorte: </li></ul><ul><ul><li>Muitos livros (alguns até gratuitos); </li>...
Gostei, quero me aprofundar <ul><li>Cuidado com o framework ou com a API da moda; </li></ul><ul><li>Defina um foco; </li><...
Referências <ul><li>Empresas que promovem cursos: </li></ul><ul><ul><li>http://www.caelum.com.br   </li></ul></ul><ul><ul>...
That’s all folks <ul><li>Muito obrigado a todos; </li></ul><ul><li>Contatos: </li></ul><ul><ul><li>Rafael Carneiro V. Bati...
Agradecimentos <ul><li>FJN – Faculdade de Juazeiro do Norte </li></ul><ul><li>Paulo César M. Jeveaux ( www.jeveaux.com ) <...
Upcoming SlideShare
Loading in …5
×

Conhecendo Java

6,525
-1

Published on

Apresentação da palestra Conhecendo Java na Faculdade de Juazeiro do Norte, em 30/11/07.

Published in: Technology, Education
2 Comments
5 Likes
Statistics
Notes
No Downloads
Views
Total Views
6,525
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
408
Comments
2
Likes
5
Embeds 0
No embeds

No notes for slide

Conhecendo Java

  1. 1. por Rafael Carneiro [email_address] Conhecendo o Java 30/11/2007
  2. 2. Agenda <ul><li>A História </li></ul><ul><li>O que é Java? </li></ul><ul><li>JCP </li></ul><ul><li>Prog. Orientada a Objetos </li></ul><ul><li>Arquitetura </li></ul><ul><li>Java em todo lugar </li></ul><ul><li>Como começar </li></ul><ul><li>Exemplos </li></ul><ul><li>Produtividade </li></ul><ul><li>Java e o Mercado </li></ul><ul><li>Comunidades </li></ul><ul><li>Futuro e Tendências </li></ul><ul><li>E agora? </li></ul>
  3. 3. Rafael Carneiro V. Batista <ul><li>Coordenador dos eventos Café com Tapioca do CEJUG; </li></ul><ul><li>Coordenador do PortalJava; </li></ul><ul><li>Diretor comercial da Triadworks ; </li></ul><ul><li>Desenvolvedor do projeto open-source CEJUG Classifieds ; </li></ul>
  4. 4. A História 30/11/2007
  5. 5. Como Java nasceu… <ul><li>Patrick Naughton, engenheiro da Sun, estava cansado e iria sair; </li></ul><ul><li>Scott McNealy, CEO da Sun, pediu para que ele escrevesse o que estava errado; </li></ul><ul><li>Naughton não poupou palavras, mas achou que não ia dar em nada; </li></ul><ul><li>McNealy enviou a mensagem para outros e Naughton recebeu uma enxurrada de mensagens de apoio, inclusive de Bill Joy (fundador da Sun) e James Gosling (seu mentor), que colocaram lenha na fogueira; </li></ul>
  6. 6. Como Java nasceu… <ul><li>A Sun, então, faz sua contra-proposta: cria o projeto Green para desenvolver algo inovador; </li></ul><ul><li>Reclusos e sem contato com a Sun, os melhores desenvolvedores analisavam e debatiam sobre tecnologias existentes; </li></ul><ul><li>A sacada: como aparelhos eletrônicos (jogos, TVs, VCRs, etc.) poderiam comunicar-se uns com os outros? </li></ul><ul><li>Logo notaram que estes aparelhos todos possuem hardware diferente e limitado; </li></ul>
  7. 7. Como Java nasceu… <ul><li>Começaram a desenvolver uma nova linguagem, batizada de Oak; </li></ul><ul><ul><li>Criada por James Gosling; </li></ul></ul><ul><ul><li>Orientada a Objetos; </li></ul></ul><ul><ul><li>Parecida com C++; </li></ul></ul><ul><ul><li>Projetada para rodar em diferentes hardwares. </li></ul></ul><ul><li>Desenvolveram, então, um controle remoto interativo para receptores de TV a cabo, chamado “*7”. </li></ul>
  8. 8. Como Java nasceu… <ul><li>Depois de 18 meses, a Sun transforma o projeto Green em uma empresa, chamada “First Person”e tira o time da reclusão; </li></ul><ul><li>A empresa tinha uma boa idéia, mas não tinha mercado; </li></ul><ul><li>Em 1993 foi lançado o Mosaic, primeiro navegador para a World Wide Web; </li></ul><ul><li>O projeto muda de rumo e aposta no sucesso da Internet, que se encaixava perfeitamente com as idéias do grupo; </li></ul><ul><li>A nova idéia era criar um sistema para permitir o uso de multimídia na Web; </li></ul>
  9. 9. Enfim, Java <ul><li>A linguagem Oak se tornaria o produto. Naughton sugere que seja distribuída gratuitamente na web; </li></ul><ul><li>O time desenvolve o navegador WebRunner, mais tarde HotJava Browser. Nascem as Applets; </li></ul><ul><li>Sun concorda em disponibilizar Oak, mas antes troca seu nome para Java (outros mais cotados: Neon, Lyric, Pepper e Silk); </li></ul><ul><li>A Netscape anuncia seu novo navegador com suporte a Java e a tecnologia dispara; </li></ul>
  10. 10. Java hoje <ul><li>Java fez 10 anos em 2005; </li></ul><ul><li>Evolução: </li></ul><ul><ul><li>Java 1.0a; </li></ul></ul><ul><ul><li>Java Development Kit 1.1; </li></ul></ul><ul><ul><li>Java 2 Platform 1.2; </li></ul></ul><ul><ul><li>Java 2 Platform 1.3; </li></ul></ul><ul><ul><li>Java 2 Platform 1.4; </li></ul></ul><ul><ul><li>Java 2 Platform 5.0 (Tiger); </li></ul></ul><ul><ul><li>Java 6 (Mustang) </li></ul></ul><ul><ul><li>Próxima: Java 7 (Dolphin). </li></ul></ul>
  11. 11. O que é Java? 30/11/2007
  12. 12. O que é Java? <ul><li>Java é... </li></ul><ul><ul><li>Um software? </li></ul></ul><ul><ul><li>Uma tecnologia? </li></ul></ul><ul><ul><li>Uma linguagem de programação? </li></ul></ul><ul><ul><li>Uma plataforma de desenvolvimento? </li></ul></ul><ul><ul><li>Uma ilha da Indonésia? </li></ul></ul><ul><ul><li>Um ator? </li></ul></ul>
  13. 13. Jawa
  14. 14. Java Mayan (Malhação)?
  15. 15. JavaScript?
  16. 16. Java é tudo isso <ul><li>Simples, orientada a objetos; </li></ul><ul><li>Independente de plataforma (WORA); </li></ul><ul><li>Portável, baseada no poder das redes; </li></ul><ul><li>Versátil, dinâmica, robusta e segura; </li></ul><ul><li>Gratuita; </li></ul><ul><li>Fácil de usar e desenvolver; </li></ul><ul><li>Popular e rodeada por uma comunidade vibrante! </li></ul>
  17. 17. Java é… <ul><li>Orientada a objetos; </li></ul><ul><li>Híbrida (compilada e interpretada); </li></ul><ul><li>Semelhante a C/C++, mas: </li></ul><ul><ul><li>É mais simples e tão poderosa quanto*: não tem ponteiro, #define, .h, etc. </li></ul></ul><ul><ul><li>É independente de plataforma; </li></ul></ul><ul><ul><li>É mais robusta e segura: coletor de lixo, exceções, verificação de tipos, checagem de integridade, suporte nativo a threads. </li></ul></ul>* Exceto por herança múltipla, que Java não tem (mas é possível simular).
  18. 18. Java Community Process 30/11/2007
  19. 19. Java é software?
  20. 20. Java é uma Especificação The Java Language Specification Especifica a linguagem de programação Java, sintática e semanticamente, descrevendo todos os seus aspectos. Pode ser comprada como livro ou baixada gratuitamente: http://java.sun.com/docs/books/jls/. The Java Virtual Machine Specification Especifica como uma máquina virtual Java funciona. Pode ser comprada como livro ou baixada gratuitamente: http://java.sun.com/docs/books/vmspec/.
  21. 21. Porque uma especificação? <ul><li>Organizações podem criar suas próprias versões de Java; </li></ul><ul><li>Todas elas serão compatíveis, pois devem passar por um teste; </li></ul><ul><li>Você não fica preso a um fornecedor de software. </li></ul>
  22. 22. Quem faz a especificação? <ul><li>No início, quem criou Java foi a Sun; </li></ul><ul><li>A partir de 1998, foi criado o Java Community Process (www.jcp.org): </li></ul><ul><ul><li>O JCP é um processo aberto e participativo de desenvolvimento e revisão das especificações Java; </li></ul></ul><ul><ul><li>A Sun possui grande influência (Executive Comitee), mas não domina o JCP. </li></ul></ul>
  23. 23. Quem participa do JCP <ul><li>Mais de 900 pessoas, empresas e organizações sem fins lucrativos; </li></ul><ul><ul><li>Empresas desenvolvedoras: Apple, BEA, IBM, JBoss, Oracle, etc. </li></ul></ul><ul><ul><li>Empresas usuárias: Boeing, Computer Associates, Google, LG, MySQL, Motorola, PalmSoftware, PeopleSoft, Sony, Sybase, etc. </li></ul></ul><ul><ul><li>Pessoas: Bruno Souza, Michael Nascimento, Osvaldo Doederlein, etc. </li></ul></ul><ul><ul><li>Organizações: Apache Software Foundation, SouJava, etc. </li></ul></ul>
  24. 24. Como participar <ul><li>Assinando a JSPA (Java Specification Participation Agreement) e pagando a anuidade; </li></ul><ul><li>É possível colaborar sem ser membro, revisando e comentando especificações. </li></ul>Anuidade JCP Anuidade W3C Empresas US$ 5.000,00 Até US$63.500,00 Organizações US$ 2.000,00 US$ 6.350,00 Pessoas US$ 0,00 ---
  25. 25. E quem implementa o Java? <ul><li>Muita gente: </li></ul><ul><ul><li>A Sun Microsystems (a mais usada); </li></ul></ul><ul><ul><li>Não-livres: IBM, BEA, Apple, Microsoft, JET, Blackdown, etc.; </li></ul></ul><ul><ul><li>Livres: GNU GCJ/Classpath, Kaffe, etc.; </li></ul></ul><ul><ul><li>Para fins de pesquisa: JNode, Jikes RVM, Sun MVM, IBM CJVM, etc. </li></ul></ul><ul><li>Todas são compatíveis com a especificação, você escolhe. </li></ul>
  26. 26. OpenSource ou Proprietária? <ul><li>Java ERA uma especificação aberta, agora, Java é Open Source, sob a licença GPL v2; </li></ul><ul><li>A implementação da Sun do Java ME e Java SE já são Open Source, sob a licença GPL v2. Também se tornaram Open Source o NetBeans, Solaris, OpenSPARC e StarOffice. </li></ul><ul><ul><li>http://www.sun.com/software/opensource/java </li></ul></ul><ul><ul><li>https://mobileandembedded.dev.java.net </li></ul></ul>
  27. 27. Mitos <ul><li>Java é lenta! </li></ul><ul><ul><li>As primeiras versões eram lentas, mas as novas são até mais rápidas que C++. </li></ul></ul><ul><li>Não possui um ambiente RAD (like Visual Studio) ! </li></ul><ul><ul><li>Há muitas ferramentas de alta produtividade disponíveis, inclusive gratuitas. </li></ul></ul><ul><li>JavaScript é uma derivação de Java! </li></ul><ul><ul><li>Não. Em comum elas só tem o nome e a sintaxe. São duas linguagens diferentes. </li></ul></ul>
  28. 28. Mitos <ul><li>Java só serve para fazer Applets! </li></ul><ul><ul><li>Ledo engano. Java serve para fazer de clientes desktop à aplicações enterprise, passando por dispositivos móveis. </li></ul></ul><ul><li>Java é a melhor forma de fazer tudo! </li></ul><ul><ul><li>Bem que eu queria, mas não é. Java é bastante versátil, mas não faz tudo. </li></ul></ul>
  29. 29. Por que usar Java? <ul><li>Precisa de mais motivos? </li></ul><ul><ul><li>Projetada para redes desde o começo –“The network is the computer”; </li></ul></ul><ul><ul><li>Alta aceitação e suporte da indústria; </li></ul></ul><ul><ul><li>Muitas ferramentas disponíveis, várias delas gratuitas e livres; </li></ul></ul><ul><ul><li>Vasta documentação, fácil de aprender; </li></ul></ul><ul><ul><li>Alta produtividade; </li></ul></ul><ul><ul><li>Open Source; </li></ul></ul><ul><ul><li>Etc, etc, etc. </li></ul></ul>
  30. 30. Programação Orientada a Objetos 30/11/2007
  31. 31. Engenharia de Software <ul><li>Desenvolver software não é uma arte; </li></ul><ul><li>A Engenharia de Software busca formalizar metodologias; </li></ul><ul><li>Paradigmas regem as tarefas de análise, projeto e codificação; </li></ul><ul><li>Os mais conhecidos: </li></ul><ul><ul><li>Paradigma Estruturado (ou Procedural); </li></ul></ul><ul><ul><li>Paradigma Orientado a Objetos. </li></ul></ul>
  32. 32. Java é Orientada a Objetos <ul><li>Para desenvolver bem em Java é preciso saber os conceitos de OO; </li></ul><ul><li>Se não... </li></ul><ul><ul><li>Dificilmente conseguirá evoluir além de programas bem simples; </li></ul></ul><ul><ul><li>Será difícil entender outros programas e outras pessoas entenderem o seu; </li></ul></ul><ul><ul><li>Você estará perdendo tempo. Use C, Pascal, etc. que são procedurais. </li></ul></ul>
  33. 33. Orientação a Objetos <ul><li>Análise, projeto e programação; </li></ul><ul><li>Mapear o mundo real no mundo computacional utilizando objetos; </li></ul><ul><li>Abstração mais próxima do mundo real do que o paradigma estruturado. </li></ul>
  34. 34. Conceitos <ul><li>Abstração; </li></ul><ul><li>Encapsulamento; </li></ul><ul><li>Modularidade; </li></ul><ul><li>Objetos; </li></ul><ul><li>Classes; </li></ul><ul><li>Ligações e associações; </li></ul><ul><li>Composição e agregação; </li></ul><ul><li>Herança; </li></ul><ul><li>Mensagens e métodos; </li></ul><ul><li>Persistência; </li></ul><ul><li>Classes e operações abstratas; </li></ul><ul><li>Sobrecarga e sobrescrita; </li></ul><ul><li>Polimorfismo. </li></ul>
  35. 35. Abstração <ul><li>Ignorar aspectos irrelevantes e concentrar nos principais; </li></ul><ul><li>Tipos: </li></ul><ul><ul><li>Abstração de dados; </li></ul></ul><ul><ul><li>Abstração de procedimentos. </li></ul></ul>
  36. 36. Encapsulamento <ul><li>Separar os aspectos externos (o que faz) dos aspectos internos (como faz): </li></ul><ul><ul><li>Aspectos externos = interface, contrato; </li></ul></ul><ul><ul><li>Aspectos internos = implementação. </li></ul></ul>
  37. 37. Modularidade <ul><li>Decomposição do sistema em módulos: </li></ul><ul><ul><li>Coesos (baixo acoplamento); </li></ul></ul><ul><ul><li>Autônomos; </li></ul></ul><ul><ul><li>De interface simples e coerente. </li></ul></ul><ul><li>Fundamental para o reuso. </li></ul>
  38. 38. Objetos <ul><li>Conceito central deste paradigma; </li></ul><ul><li>Entidades que incorporam abstrações relevantes do problema; </li></ul><ul><li>Um objeto tem três características principais: </li></ul><ul><ul><li>Estado (estrutura); </li></ul></ul><ul><ul><li>Comportamento; </li></ul></ul><ul><ul><li>Identidade; </li></ul></ul>
  39. 39. Classes <ul><li>Objetos que possuem mesma estrutura e comportamento são de uma mesma classe; </li></ul><ul><li>Definimos classes, não objetos. </li></ul>
  40. 40. Ligações e Associações <ul><li>Objetos relacionam-se entre si: </li></ul><ul><ul><li>Ligação: conexão entre objetos; </li></ul></ul><ul><ul><li>Associação: conexão entre classes que representa existência de ligações. </li></ul></ul><ul><li>Associações podem ter cardinalidades. </li></ul>
  41. 41. Composição e Agregação <ul><li>Associações todo-parte; </li></ul><ul><ul><li>Objetos complexos são compostos de objetos mais simples; </li></ul></ul><ul><ul><li>Composição: as partes estão sempre relacionadas ao todo; </li></ul></ul><ul><ul><li>Agregação: as partes podem ser decompostas. </li></ul></ul>09/10/2007
  42. 42. Herança <ul><li>Quando classes têm semelhanças podemos generalizá-las; </li></ul><ul><li>Hierarquias: </li></ul><ul><ul><li>Relações de superclasse x subclasse; </li></ul></ul><ul><ul><li>“ Filhos” herdam estrutura e comportamento dos “pais”. </li></ul></ul>
  43. 43. Mensagens e Métodos <ul><li>Objetos trocam mensagens para se comunicar (deve ser a única forma); </li></ul><ul><li>Métodos: operações que um objeto pode realizar. </li></ul>
  44. 44. Persistência <ul><li>Capacidade do objeto de transcender o tempo e o espaço; </li></ul><ul><ul><li>Armazenamento em banco de dados; </li></ul></ul><ul><ul><li>Transmissão pela rede. </li></ul></ul>
  45. 45. Classes e operações abstratas <ul><li>Classes abstratas não podem ser instanciadas; </li></ul><ul><li>Operações abstratas não possuem implementação; </li></ul><ul><li>Classe composta somente por operações abstratas = interface. </li></ul>
  46. 46. Sobrecarga e sobrescrita <ul><li>Sobrecarga: operações distintas com o mesmo nome; </li></ul><ul><li>Sobrescrita: subclasse define nova implementação para operação definida na superclasse. </li></ul>09/10/2007
  47. 47. Polimorfismo <ul><li>Habilidade de tomar várias formas. </li></ul>09/10/2007
  48. 48. Arquitetura 30/11/2007
  49. 49. Java é muita coisa <ul><li>A Linguagem de programação Java; </li></ul><ul><li>O ambiente de execução Java; </li></ul><ul><li>O kit de desenvolvimento Java; </li></ul><ul><li>Uma biblioteca de classes (API) Java. </li></ul>
  50. 50. Plataforma Java 2 <ul><li>Desde a versão 1.2 até a 1.5, passou a ser chamada de “Java 2” e foi dividida em: </li></ul><ul><ul><li>Java 2 Platform Standard Edition (JavaSE); </li></ul></ul><ul><ul><li>Java 2 Platform Enterprise Edition (JavaEE); </li></ul></ul><ul><ul><li>Java 2 Platform Mobile Edition (JavaME). </li></ul></ul><ul><li>Cada uma tem sua API; </li></ul><ul><li>A JavaSE é base para as outras. </li></ul>
  51. 51. Novos ares <ul><li>A partir da versão 6, tira-se o “2”: </li></ul><ul><ul><li>Java Platform, Standard Edition 6 ou Java SE 6; </li></ul></ul><ul><ul><li>Java Platform, Enterprise Edition 6 ou Java EE 6; </li></ul></ul><ul><ul><li>Java Platform, Mobile Edition 6 ou Java ME 6. </li></ul></ul><ul><li>O “Java2” permanece na versão 1.5 e anteriores. </li></ul>
  52. 52. Java Platform, Standard Edition <ul><li>Ferramentas de desenvolvimento + API núcleo da plataforma Java; </li></ul><ul><ul><li>Permite o desenvolvimento de aplicações desktop, inclusive com interface gráfica, acesso à banco de dados, I/O, rede, etc. </li></ul></ul><ul><ul><li>Dividida em: </li></ul></ul><ul><ul><ul><li>JDK = Java Development Kit; </li></ul></ul></ul><ul><ul><ul><li>JRE = Java Runtime Environment. </li></ul></ul></ul>
  53. 53. Java Development Kit <ul><li>Somente para os programadores; </li></ul><ul><li>Contém: </li></ul><ul><ul><li>Ferramentas de desenvolvimento; </li></ul></ul><ul><ul><li>Ambiente de execução (JRE); </li></ul></ul><ul><ul><li>API Java SE (compilada e código-fonte); </li></ul></ul><ul><ul><li>Programas de demonstração; </li></ul></ul><ul><ul><li>Bibliotecas adicionais; </li></ul></ul><ul><ul><li>Documentação (obtida separadamente). </li></ul></ul>
  54. 54. Java Runtime Environment <ul><li>Necessária para rodar programas Java, pois além de compilada, Java também é interpretada; </li></ul><ul><li>É a única parte da plataforma Java que os clientes necessitam instalar; </li></ul><ul><li>Em alguns sistemas operacionais (ex. MacOS X) já vem instalada. </li></ul><ul><li>Implementação da Sun: ~ 15 MB. </li></ul>
  55. 55. Feramentas Disponíveis <ul><li>Compilador (javac); </li></ul><ul><li>Interpretador (java); </li></ul><ul><li>Gerador de documentação (javadoc); </li></ul><ul><li>Depurador (jdb); </li></ul><ul><li>Gerador de pacotes (jar); </li></ul><ul><li>Outros: </li></ul><ul><ul><li>Visualisador de applets (appletviewer); </li></ul></ul><ul><ul><li>Criptografia (keytool, jarsigner, etc.); </li></ul></ul><ul><ul><li>Etc. </li></ul></ul>
  56. 56. Plataforma suportadas <ul><li>A Sun dá suporte às seguintes plataformas: </li></ul><ul><ul><li>Windows i586 / AMD64; </li></ul></ul><ul><ul><li>Linux i586 / AMD64; </li></ul></ul><ul><ul><li>Solaris SPARC / x86 / x64. </li></ul></ul><ul><li>A Apple desenvolveu versão para MacOS. </li></ul><ul><li>Outras: </li></ul><ul><ul><li>HP UX, FreeBSD, OS/2, AIX, AS/400, OS/390, IRIX, Alpha, SCO, NetWare, etc.; </li></ul></ul><ul><ul><li>Nem todas são atuais ou completas. </li></ul></ul>
  57. 57. Write Once, Run Anywhere <ul><li>Java é compilada e interpretada: </li></ul><ul><ul><li>1. Códigos das classes são compilados para uma linguagem intermediária chamada Bytecode; </li></ul></ul><ul><ul><li>2. O Bytecode é interpretado por uma “máquina virtual”: a JVM; </li></ul></ul><ul><ul><li>3. A JVM envia comandos específicos da plataforma para o sistema operacional. </li></ul></ul>
  58. 58. Write Once, Run Anywhere
  59. 59. Principais APIs 09/10/2007
  60. 60. Principais APIs <ul><li>AWT/Swing: interfaces gráficas; </li></ul><ul><li>Java2D: desenho; </li></ul><ul><li>JDBC: acesso a bancos de dados; </li></ul><ul><li>JNDI: acesso a servidores de nomes; </li></ul><ul><li>RMI: invocação remota de métodos; </li></ul><ul><li>Beans: padrão JavaBeans; </li></ul><ul><li>i18n: suporte a internacionalização; </li></ul><ul><li>I/O: entrada e saída (arquivos); </li></ul><ul><li>JNI: integração com linguagens nativas; </li></ul><ul><li>Math: cálculos matemáticos; </li></ul>
  61. 61. Principais APIs <ul><li>Networking: transmissão pela rede; </li></ul><ul><li>Security: segurança; </li></ul><ul><li>Serialization: persistência por serialização; </li></ul><ul><li>XML: processamento de XML e afins; </li></ul><ul><li>Lang & Util: núcleo da linguagem, utilitários (coleções, datas, compactação, etc.); </li></ul><ul><li>Concurrency: programação concorrente (threads); </li></ul><ul><li>Logging: funções de relatório (log); </li></ul><ul><li>Reflection: reflexão e instrospecção. </li></ul>
  62. 62. Java Platform, Enterprise Edition <ul><li>Permite o desenvolvimento de aplicações corporativas: </li></ul><ul><ul><li>Multi-camada, distribuídas, centradas em servidores, altamente robustas, estáveis e escaláveis; </li></ul></ul><ul><li>Inclui as especificações para desenvolvimento Web: Servlets, JSP, Web Services. </li></ul>
  63. 63. Servlets, JSP e EJBs <ul><li>Servlets e JSPs: </li></ul><ul><ul><li>Componentes que respondem à requisições web, usados para construir páginas dinâmicas e Web Services. </li></ul></ul><ul><li>EJBs: </li></ul><ul><ul><li>Componentes gerenciados integrados a outras tecnologias Java EE para prover acesso remoto, persistência e transações transparentes, processamento assíncrono, etc. </li></ul></ul>
  64. 64. Outras tecnologias <ul><li>Java EE não é só Servlets e EJB: </li></ul><ul><ul><li>RMI/IIOP e Java IDL: conectividade; </li></ul></ul><ul><ul><li>JNDI: serviço de nomes; </li></ul></ul><ul><ul><li>JAC e JNI: acesso a sistemas legados; </li></ul></ul><ul><ul><li>JAAS: segurança; </li></ul></ul><ul><ul><li>JTA: transações em bancos de dados; </li></ul></ul><ul><ul><li>JMS e JavaMail: envio de mensagens; </li></ul></ul><ul><ul><li>E tudo mais que já temos no J2SE... </li></ul></ul>
  65. 65. Servidores Java EE <ul><li>Ao contrário do Java SE, a implementação da Sun é só para referência; </li></ul><ul><li>Servidores web: </li></ul><ul><ul><li>Apache Tomcat, Caucho Resin, Jetty, etc. </li></ul></ul><ul><li>Servidores de aplicação: </li></ul><ul><ul><li>BEA WebLogic, Borland Enterprise Server, JBoss Application Server, Oracle Application Server, IBM WebSphere, etc.; </li></ul></ul>
  66. 66. Java Platform, Mobile Edition <ul><li>Permite o desenvolvimento de aplicações para dispositivos móveis: </li></ul><ul><ul><li>Telefones celulares; </li></ul></ul><ul><ul><li>PDAs (Palm, iPaq, etc.); </li></ul></ul><ul><ul><li>Dispositivos embarcados (embedded); </li></ul></ul><ul><ul><li>Etc. </li></ul></ul><ul><li>Java Card: aplicações para Smart Cards e outros dispositivos muito limitados. </li></ul>
  67. 67. Configurações Java ME <ul><li>Atualmente são duas: </li></ul><ul><ul><li>CLDC: Connected Limited Device Configuration; </li></ul></ul><ul><ul><li>CDC: Connected Device Configuration. </li></ul></ul><ul><li>Cada uma possui uma API diferente, dependendo da capacidade do dispositivo (limitada ou não). </li></ul>
  68. 68. Java em todo lugar 30/11/2007
  69. 69. Java está em todo lugar
  70. 70. Applets 09/10/2007
  71. 71. Enterprise 09/10/2007
  72. 72. Móveis 09/10/2007
  73. 73. Desktop 09/10/2007
  74. 74. De ponta a ponta 09/10/2007
  75. 75. Como começar 30/11/2007
  76. 76. Preparando o Ambiente <ul><li>Fazer download do JDK </li></ul><ul><li>E também da documentação </li></ul><ul><ul><li>http://java.sun.com </li></ul></ul><ul><ul><li>Escolha a versão do seu sistema operacional. </li></ul></ul>
  77. 77. Instalando <ul><li>Windows </li></ul><ul><ul><li>Instalador padrão Microsoft, simplificado. </li></ul></ul><ul><ul><li>Documentação compactada (zip). </li></ul></ul><ul><li>Linux </li></ul><ul><ul><li>Algumas distros possuem pacote de instalação e/ou repositórios. </li></ul></ul><ul><ul><li>Documentação compactada. </li></ul></ul>
  78. 78. Escrevendo Programas <ul><li>Use uma IDE: </li></ul><ul><ul><li>Eclipse; </li></ul></ul><ul><ul><li>NetBeans; </li></ul></ul><ul><ul><li>JetBrains IntelliJ IDEA; </li></ul></ul><ul><ul><li>Borland JBuilder; </li></ul></ul><ul><ul><li>Etc. </li></ul></ul><ul><li>Editores mais simples: </li></ul><ul><ul><li>JEdit; </li></ul></ul><ul><ul><li>JCreator, etc. </li></ul></ul>
  79. 79. Exemplos e Produtividade 30/11/2007
  80. 80. Java e o Mercado 30/11/2007
  81. 81. Empresas 09/10/2007
  82. 82. O mercado em números <ul><li>Informações do JavaOne: </li></ul><ul><ul><li>900+ milhoes de micros rodando aplicacoes Java; </li></ul></ul><ul><ul><li>300 milhoes de downloads da Java desde junho de 2003; </li></ul></ul><ul><ul><li>12 milhoes de visitas por mes ao site java.com; </li></ul></ul><ul><ul><li>5 milhoes de desenvolvedores Java no mundo; </li></ul></ul><ul><ul><li>180.000 desenvolvedores registrados no site java.net; </li></ul></ul><ul><ul><li>912 membros no JCP; </li></ul></ul><ul><ul><li>1++ bilhoes de celulares rodando Java no mundo; </li></ul></ul>
  83. 83. O mercado em números <ul><li>Informações do JavaOne: </li></ul><ul><ul><li>635 modelos de celular no mundo com Java; </li></ul></ul><ul><ul><li>32 fabricantes de celulares Java no mundo; </li></ul></ul><ul><ul><li>140 operadoras de telefonia movel usando Java; </li></ul></ul><ul><ul><li>3 milhoes de downloads de JavaEE; </li></ul></ul><ul><ul><li>28 tipos diferentes de servidores Java; </li></ul></ul><ul><ul><li>A e-Bay confia em Java para todas suas vendas que ultrapassam US$ 1.400,00 por segundo! </li></ul></ul>
  84. 84. O mercado em números <ul><li>Estimativa que Java movimenta US$ 100 bilhões / ano e vem crescendo; </li></ul><ul><li>A Sun está em mais de 170 países e tem uma receita anual de mais de US$ 18,3 bilhões; </li></ul><ul><li>100% das 500 maiores empresas (segundo a Fortune) usam Java; </li></ul><ul><li>A Sun mudou o seu nome na bolsa de valores de SUNW para JAVA; </li></ul>
  85. 85. O mercado em números <ul><li>Segundo o Instituto Gartner: </li></ul><ul><ul><li>Java é a tecnologia escolhida pelas empresas, 60% já usam, 22% planejam; </li></ul></ul><ul><ul><li>Java e .NET terão 80% do mercado até 2008 (40% cada uma). </li></ul></ul><ul><li>Java x .NET: </li></ul><ul><ul><li>Muita guerra de marketing e religião; </li></ul></ul><ul><ul><li>Não há consenso de qual é superior. </li></ul></ul>
  86. 86. Mercado Brasileiro <ul><li>Fonte: DFJUG </li></ul>09/10/2007
  87. 87. Mercado Brasileiro <ul><li>Fonte: DFJUG </li></ul>
  88. 88. Mercado Brasileiro <ul><li>Fonte: DFJUG </li></ul>
  89. 89. Mercado Brasileiro <ul><li>Fonte: DFJUG </li></ul>
  90. 90. Mercado Brasileiro <ul><li>5 milhões de desenvolvedores Java no Mundo. </li></ul><ul><ul><li>Estima-se 50 mil no Brasil </li></ul></ul>
  91. 91. Empregos <ul><li>Oportunidade: </li></ul><ul><ul><li>Muitas vagas surgindo; </li></ul></ul><ul><ul><li>Poucos capacitados, poucos certificados; </li></ul></ul><ul><ul><li>Bons salários. </li></ul></ul><ul><li>No Ceará: </li></ul><ul><ul><li>Mercado em ótima fase de crescimento e oportunidades ; </li></ul></ul>
  92. 92. Certificações <ul><li>A Sun cria provas para certificar profissionais na plataforma Java; </li></ul><ul><li>O instituto Thomson Prometric aplica a prova em vários lugares do Brasil; </li></ul><ul><li>No Ceará: </li></ul><ul><ul><li>Evolução: http://www.evolucao.com.br </li></ul></ul><ul><ul><li>Lanlink: http://www.lanlink.com.br </li></ul></ul><ul><li>Profissional certificado possui reconhecimento no mercado; </li></ul><ul><li>Infelizmente não tem tanto efeito no salário; </li></ul>
  93. 93. As Certificações
  94. 94. Comunidades 30/11/2007
  95. 95. Java e OpenSource <ul><li>Centenas de projetos no SourceForge: perde apenas para C/C++; </li></ul><ul><li>Primeiro lugar no FreshMeat; </li></ul><ul><li>Java.net: 180.000 membros e mais de 1.500 projetos; </li></ul><ul><li>Java-Source.net: projetos divididos em mais de 50 categorias; </li></ul><ul><li>Mais de 550 grupos de usuários no mundo. </li></ul>
  96. 96. Comunidades Virtuais <ul><li>PortalJava (http://www.portaljava.com); </li></ul><ul><li>GUJ (http://www.guj.com.br); </li></ul><ul><li>JavaFree (http://www.javafree.com.br); </li></ul><ul><li>E muitos outros (google.com.br); </li></ul>
  97. 97. Como participar <ul><li>O que podem fazer por você: </li></ul><ul><ul><li>Notícias; </li></ul></ul><ul><ul><li>Artigos e tutoriais; </li></ul></ul><ul><ul><li>Fóruns; </li></ul></ul><ul><ul><li>Downloads e links; </li></ul></ul><ul><ul><li>Eventos; </li></ul></ul><ul><ul><li>Etc. </li></ul></ul><ul><li>O que você pode fazer? </li></ul><ul><ul><li>Cadastrar-se; </li></ul></ul><ul><ul><li>Participar respondendo dúvidas; </li></ul></ul><ul><ul><li>Escrever artigos; </li></ul></ul><ul><ul><li>Enviar notícias; </li></ul></ul><ul><ul><li>Etc. </li></ul></ul>
  98. 98. Grupos de Usuário 09/10/2007
  99. 99. CEJUG!
  100. 100. Atividades <ul><li>Cursos; </li></ul><ul><li>Grupos de estudo; </li></ul><ul><li>Reuniões mensais; </li></ul><ul><li>Palestras; </li></ul><ul><li>Eventos; </li></ul><ul><li>Etc. </li></ul><ul><li>Participe! </li></ul>
  101. 101. Revistas
  102. 102. Futuro e Tendências 30/11/2007
  103. 103. Tendências <ul><li>JavaME – Aplicações para dispositivos móveis. </li></ul><ul><ul><li>Mercado em ampla expansão. </li></ul></ul><ul><ul><li>Ajuda das empresas de celulares. </li></ul></ul><ul><ul><li>Ainda não se sabe tudo que é possível fazer. </li></ul></ul>
  104. 104. Tendências <ul><li>AOP – Programação Orientada a Aspectos </li></ul><ul><ul><li>Criada em 1997 pela Xerox; </li></ul></ul><ul><ul><li>Tem sido a grande vedete em Java atualmente; </li></ul></ul><ul><ul><li>Base de muitos frameworks importantes e conhecidos; </li></ul></ul><ul><li>SOA – Arquitetura Orientada a Serviços </li></ul><ul><ul><li>Montagem de aplicações com serviços compartilhados; </li></ul></ul><ul><ul><li>Não é tecnologia, framework ou software; </li></ul></ul>
  105. 105. Tendências <ul><li>Web 2.0 e AJAX </li></ul><ul><ul><li>Novo conceito para desenvolvimento de páginas e sistemas web; </li></ul></ul><ul><ul><li>Usuário em foco; </li></ul></ul><ul><ul><li>Conteúdo criado por usuários para usuário; </li></ul></ul><ul><ul><li>Necessidade de interfaces ricas e de alta usabilidade; </li></ul></ul>
  106. 106. Tendências <ul><li>Profissonal </li></ul><ul><ul><li>Cuidado com a “novidade do mês” </li></ul></ul><ul><ul><li>Mais que saber a linguagem, é preciso saber a arquitetura e como elas se ligam. </li></ul></ul>
  107. 107. E agora? 30/11/2007
  108. 108. Gostei, quero me aprofundar <ul><li>Você está com sorte: </li></ul><ul><ul><li>Muitos livros (alguns até gratuitos); </li></ul></ul><ul><ul><li>Muitos tutoriais (o da Sun é muito bom); </li></ul></ul><ul><ul><li>Cursos; </li></ul></ul><ul><ul><li>Portais; </li></ul></ul><ul><ul><li>Grupos de usuários; </li></ul></ul><ul><ul><li>Eventos; </li></ul></ul>
  109. 109. Gostei, quero me aprofundar <ul><li>Cuidado com o framework ou com a API da moda; </li></ul><ul><li>Defina um foco; </li></ul><ul><li>Procure participar de projetos liderados por outras pessoas. </li></ul><ul><ul><li>Ganhe experiência; </li></ul></ul><ul><ul><li>Conheça novas técnicas; </li></ul></ul>
  110. 110. Referências <ul><li>Empresas que promovem cursos: </li></ul><ul><ul><li>http://www.caelum.com.br </li></ul></ul><ul><ul><li>http://www.argonavis.com.br </li></ul></ul><ul><li>Comunidades virtuais: </li></ul><ul><ul><li>http://www.portaljava.com </li></ul></ul><ul><ul><li>http://www.guj.com.br </li></ul></ul><ul><li>Grupos de usuários: </li></ul><ul><ul><li>http://www.soujava.org.br </li></ul></ul><ul><ul><li>http://www.cejug.org </li></ul></ul><ul><li>Materiais: </li></ul><ul><ul><li>Apostila Java Básico e Intermediário (Felipe Gaúcho) </li></ul></ul><ul><ul><li>Apostilas Java Básico Caelum </li></ul></ul>
  111. 111. That’s all folks <ul><li>Muito obrigado a todos; </li></ul><ul><li>Contatos: </li></ul><ul><ul><li>Rafael Carneiro V. Batista ( Carneiro ) </li></ul></ul><ul><ul><li>www.rafaelcarneiro.org </li></ul></ul><ul><ul><li>[email_address] | [email_address] </li></ul></ul><ul><ul><li>www.portaljava.com | www.cejug.org </li></ul></ul>
  112. 112. Agradecimentos <ul><li>FJN – Faculdade de Juazeiro do Norte </li></ul><ul><li>Paulo César M. Jeveaux ( www.jeveaux.com ) </li></ul>30/11/2007
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×