Conhecendo Java

112
por Rafael Carneiro [email protected] Conhecendo o Java 30/11/2007

description

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

Transcript of Conhecendo Java

Page 1: Conhecendo Java

por Rafael Carneiro

[email protected]

Conhecendo o Java

30/11/2007

Page 2: Conhecendo Java

Agenda

A História O que é Java? JCP Prog. Orientada a

Objetos Arquitetura Java em todo lugar Como começar

Exemplos Produtividade Java e o Mercado Comunidades Futuro e

Tendências E agora?

Page 3: Conhecendo Java

Rafael Carneiro V. Batista Coordenador dos eventos Café com

Tapioca do CEJUG;

Coordenador do PortalJava;

Diretor comercial da Triadworks;

Desenvolvedor do projeto open-source CEJUG Classifieds;

Page 4: Conhecendo Java

30/11/2007

A História

Page 5: Conhecendo Java

Como Java nasceu… Patrick Naughton, engenheiro da Sun,

estava cansado e iria sair; Scott McNealy, CEO da Sun, pediu para

que ele escrevesse o que estava errado; Naughton não poupou palavras, mas achou

que não ia dar em nada; 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;

Page 6: Conhecendo Java

Como Java nasceu… A Sun, então, faz sua contra-proposta: cria

o projeto Green para desenvolver algo inovador;

Reclusos e sem contato com a Sun, os melhores desenvolvedores analisavam e debatiam sobre tecnologias existentes;

A sacada: como aparelhos eletrônicos (jogos, TVs, VCRs, etc.) poderiam comunicar-se uns com os outros?

Logo notaram que estes aparelhos todos possuem hardware diferente e limitado;

Page 7: Conhecendo Java

Como Java nasceu…

Começaram a desenvolver uma nova linguagem, batizada de Oak; Criada por James Gosling; Orientada a Objetos; Parecida com C++; Projetada para rodar em diferentes hardwares.

Desenvolveram, então, um controle remoto interativo para receptores de TV a cabo, chamado “*7”.

Page 8: Conhecendo Java

Como Java nasceu… Depois de 18 meses, a Sun transforma o projeto

Green em uma empresa, chamada “First Person”e tira o time da reclusão;

A empresa tinha uma boa idéia, mas não tinha mercado;

Em 1993 foi lançado o Mosaic, primeiro navegador para a World Wide Web;

O projeto muda de rumo e aposta no sucesso da Internet, que se encaixava perfeitamente com as idéias do grupo;

A nova idéia era criar um sistema para permitir o uso de multimídia na Web;

Page 9: Conhecendo Java

Enfim, Java A linguagem Oak se tornaria o produto.

Naughton sugere que seja distribuída gratuitamente na web;

O time desenvolve o navegador WebRunner, mais tarde HotJava Browser. Nascem as Applets;

Sun concorda em disponibilizar Oak, mas antes troca seu nome para Java (outros mais cotados: Neon, Lyric, Pepper e Silk);

A Netscape anuncia seu novo navegador com suporte a Java e a tecnologia dispara;

Page 10: Conhecendo Java

Java hoje Java fez 10 anos em 2005; Evolução:

Java 1.0a; Java Development Kit 1.1; Java 2 Platform 1.2; Java 2 Platform 1.3; Java 2 Platform 1.4; Java 2 Platform 5.0 (Tiger); Java 6 (Mustang) Próxima: Java 7 (Dolphin).

Page 11: Conhecendo Java

30/11/2007

O que é Java?

Page 12: Conhecendo Java

O que é Java?

Java é... Um software? Uma tecnologia? Uma linguagem de programação? Uma plataforma de desenvolvimento? Uma ilha da Indonésia? Um ator?

Page 13: Conhecendo Java

Jawa

Page 14: Conhecendo Java

Java Mayan (Malhação)?

Page 15: Conhecendo Java

JavaScript?

Page 16: Conhecendo Java

Java é tudo isso

Simples, orientada a objetos; Independente de plataforma (WORA); Portável, baseada no poder das redes; Versátil, dinâmica, robusta e segura; Gratuita; Fácil de usar e desenvolver; Popular e rodeada por uma comunidade

vibrante!

Page 17: Conhecendo Java

Java é…

Orientada a objetos; Híbrida (compilada e interpretada); Semelhante a C/C++, mas:

É mais simples e tão poderosa quanto*: não tem ponteiro, #define, .h, etc.

É independente de plataforma; É mais robusta e segura: coletor de lixo,

exceções, verificação de tipos, checagem de integridade, suporte nativo a threads.

* Exceto por herança múltipla, que Java não tem (mas é possível simular).

Page 18: Conhecendo Java

30/11/2007

Java Community Process

Page 19: Conhecendo Java

Java é software?

Page 20: Conhecendo Java

Java é uma EspecificaçãoThe 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 SpecificationEspecifica como uma máquina virtual Java funciona.

Pode ser comprada como livro ou baixada gratuitamente:http://java.sun.com/docs/books/vmspec/.

Page 21: Conhecendo Java

Porque uma especificação?

Organizações podem criar suas próprias versões de Java;

Todas elas serão compatíveis, pois devem passar por um teste;

Você não fica preso a um fornecedor de software.

Page 22: Conhecendo Java

Quem faz a especificação?

No início, quem criou Java foi a Sun; A partir de 1998, foi criado o Java

Community Process (www.jcp.org): O JCP é um processo aberto e

participativo de desenvolvimento e revisão das especificações Java;

A Sun possui grande influência (Executive Comitee), mas não domina o JCP.

Page 23: Conhecendo Java

Quem participa do JCP Mais de 900 pessoas, empresas e

organizações sem fins lucrativos; Empresas desenvolvedoras: Apple, BEA, IBM,

JBoss, Oracle, etc. Empresas usuárias: Boeing, Computer

Associates, Google, LG, MySQL, Motorola, PalmSoftware, PeopleSoft, Sony, Sybase, etc.

Pessoas: Bruno Souza, Michael Nascimento, Osvaldo Doederlein, etc.

Organizações: Apache Software Foundation, SouJava, etc.

Page 24: Conhecendo Java

Como participar

Assinando a JSPA (Java Specification Participation Agreement) e pagando a anuidade;

É possível colaborar sem ser membro, revisando e comentando especificações.

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

Page 25: Conhecendo Java

E quem implementa o Java?

Muita gente: A Sun Microsystems (a mais usada); Não-livres: IBM, BEA, Apple, Microsoft, JET,

Blackdown, etc.; Livres: GNU GCJ/Classpath, Kaffe, etc.; Para fins de pesquisa: JNode, Jikes RVM, Sun

MVM, IBM CJVM, etc. Todas são compatíveis com a

especificação, você escolhe.

Page 26: Conhecendo Java

OpenSource ou Proprietária?

Java ERA uma especificação aberta, agora, Java é Open Source, sob a licença GPL v2;

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. http://www.sun.com/software/opensource/java https://mobileandembedded.dev.java.net

Page 27: Conhecendo Java

Mitos

Java é lenta! As primeiras versões eram lentas, mas as novas

são até mais rápidas que C++. Não possui um ambiente RAD (like Visual Studio)!

Há muitas ferramentas de alta produtividade disponíveis, inclusive gratuitas.

JavaScript é uma derivação de Java! Não. Em comum elas só tem o nome e a

sintaxe. São duas linguagens diferentes.

Page 28: Conhecendo Java

Mitos

Java só serve para fazer Applets! Ledo engano. Java serve para fazer de

clientes desktop à aplicações enterprise, passando por dispositivos móveis.

Java é a melhor forma de fazer tudo! Bem que eu queria, mas não é. Java é

bastante versátil, mas não faz tudo.

Page 29: Conhecendo Java

Por que usar Java?

Precisa de mais motivos? Projetada para redes desde o começo –“The

network is the computer”; Alta aceitação e suporte da indústria; Muitas ferramentas disponíveis, várias delas

gratuitas e livres; Vasta documentação, fácil de aprender; Alta produtividade; Open Source; Etc, etc, etc.

Page 30: Conhecendo Java

30/11/2007

Programação Orientada a Objetos

Page 31: Conhecendo Java

Engenharia de Software

Desenvolver software não é uma arte; A Engenharia de Software busca

formalizar metodologias; Paradigmas regem as tarefas de

análise, projeto e codificação; Os mais conhecidos:

Paradigma Estruturado (ou Procedural); Paradigma Orientado a Objetos.

Page 32: Conhecendo Java

Java é Orientada a Objetos

Para desenvolver bem em Java é preciso saber os conceitos de OO;

Se não... Dificilmente conseguirá evoluir além de

programas bem simples; Será difícil entender outros programas e

outras pessoas entenderem o seu; Você estará perdendo tempo. Use C,

Pascal, etc. que são procedurais.

Page 33: Conhecendo Java

Orientação a Objetos

Análise, projeto e programação; Mapear o mundo real no mundo

computacional utilizando objetos; Abstração mais próxima do mundo

real do que o paradigma estruturado.

Page 34: Conhecendo Java

Conceitos

Abstração; Encapsulamento; Modularidade; Objetos; Classes; Ligações e

associações; Composição e

agregação;

Herança; Mensagens e

métodos; Persistência; Classes e operações

abstratas; Sobrecarga e

sobrescrita; Polimorfismo.

Page 35: Conhecendo Java

Abstração

Ignorar aspectos irrelevantes e concentrar nos principais;

Tipos: Abstração de dados; Abstração de procedimentos.

Page 36: Conhecendo Java

Encapsulamento

Separar os aspectos externos (o que faz) dos aspectos internos (como faz): Aspectos externos = interface, contrato; Aspectos internos = implementação.

Page 37: Conhecendo Java

Modularidade

Decomposição do sistema em módulos: Coesos (baixo acoplamento); Autônomos; De interface simples e coerente.

Fundamental para o reuso.

Page 38: Conhecendo Java

Objetos

Conceito central deste paradigma; Entidades que incorporam abstrações

relevantes do problema; Um objeto tem três características

principais: Estado (estrutura); Comportamento; Identidade;

Page 39: Conhecendo Java

Classes

Objetos que possuem mesma estrutura e comportamento são de uma mesma classe;

Definimos classes, não objetos.

Page 40: Conhecendo Java

Ligações e Associações

Objetos relacionam-se entre si: Ligação: conexão entre objetos; Associação: conexão entre classes que

representa existência de ligações. Associações podem ter

cardinalidades.

Page 41: Conhecendo Java

09/10/2007

Composição e Agregação

Associações todo-parte; Objetos complexos são compostos de

objetos mais simples; Composição: as partes estão sempre

relacionadas ao todo; Agregação: as partes podem ser

decompostas.

Page 42: Conhecendo Java

Herança

Quando classes têm semelhanças podemos generalizá-las;

Hierarquias: Relações de

superclasse x subclasse;

“Filhos” herdam estrutura e comportamento dos “pais”.

Page 43: Conhecendo Java

Mensagens e Métodos

Objetos trocam mensagens para se comunicar (deve ser a única forma);

Métodos: operações que um objeto pode realizar.

Page 44: Conhecendo Java

Persistência

Capacidade do objeto de transcender o tempo e o espaço; Armazenamento em banco de dados; Transmissão pela rede.

Page 45: Conhecendo Java

Classes e operações abstratas

Classes abstratas não podem ser instanciadas;

Operações abstratas não possuem implementação;

Classe composta somente por operações abstratas = interface.

Page 46: Conhecendo Java

09/10/2007

Sobrecarga e sobrescrita

Sobrecarga: operações distintas com o mesmo nome;

Sobrescrita: subclasse define nova implementação para operação definida na superclasse.

Page 47: Conhecendo Java

09/10/2007

Polimorfismo

Habilidade de tomar várias formas.

Page 48: Conhecendo Java

30/11/2007

Arquitetura

Page 49: Conhecendo Java

Java é muita coisa

A Linguagem de programação Java; O ambiente de execução Java; O kit de desenvolvimento Java; Uma biblioteca de classes (API) Java.

Page 50: Conhecendo Java

Plataforma Java 2 Desde a versão 1.2 até a 1.5, passou a ser

chamada de “Java 2” e foi dividida em: Java 2 Platform Standard Edition (JavaSE); Java 2 Platform Enterprise Edition (JavaEE); Java 2 Platform Mobile Edition (JavaME).

Cada uma tem sua API; A JavaSE é base para as outras.

Page 51: Conhecendo Java

Novos ares

A partir da versão 6, tira-se o “2”: Java Platform, Standard Edition 6 ou

Java SE 6; Java Platform, Enterprise Edition 6 ou

Java EE 6; Java Platform, Mobile Edition 6 ou Java

ME 6. O “Java2” permanece na versão 1.5 e

anteriores.

Page 52: Conhecendo Java

Java Platform, Standard Edition

Ferramentas de desenvolvimento + API núcleo da plataforma Java; Permite o desenvolvimento de aplicações

desktop, inclusive com interface gráfica, acesso à banco de dados, I/O, rede, etc.

Dividida em: JDK = Java Development Kit; JRE = Java Runtime Environment.

Page 53: Conhecendo Java

Java Development Kit

Somente para os programadores; Contém:

Ferramentas de desenvolvimento; Ambiente de execução (JRE); API Java SE (compilada e código-fonte); Programas de demonstração; Bibliotecas adicionais; Documentação (obtida separadamente).

Page 54: Conhecendo Java

Java Runtime Environment

Necessária para rodar programas Java, pois além de compilada, Java também é interpretada;

É a única parte da plataforma Java que os clientes necessitam instalar;

Em alguns sistemas operacionais (ex. MacOS X) já vem instalada.

Implementação da Sun: ~ 15 MB.

Page 55: Conhecendo Java

Feramentas Disponíveis Compilador (javac); Interpretador (java); Gerador de documentação (javadoc); Depurador (jdb); Gerador de pacotes (jar); Outros:

Visualisador de applets (appletviewer); Criptografia (keytool, jarsigner, etc.); Etc.

Page 56: Conhecendo Java

Plataforma suportadas

A Sun dá suporte às seguintes plataformas: Windows i586 / AMD64; Linux i586 / AMD64; Solaris SPARC / x86 / x64.

A Apple desenvolveu versão para MacOS. Outras:

HP UX, FreeBSD, OS/2, AIX, AS/400, OS/390, IRIX, Alpha, SCO, NetWare, etc.;

Nem todas são atuais ou completas.

Page 57: Conhecendo Java

Write Once, Run Anywhere

Java é compilada e interpretada: 1. Códigos das classes são compilados

para uma linguagem intermediária chamada Bytecode;

2. O Bytecode é interpretado por uma “máquina virtual”: a JVM;

3. A JVM envia comandos específicos da plataforma para o sistema operacional.

Page 58: Conhecendo Java

Write Once, Run Anywhere

Page 59: Conhecendo Java

09/10/2007

Principais APIs

Page 60: Conhecendo Java

Principais APIs AWT/Swing: interfaces gráficas; Java2D: desenho; JDBC: acesso a bancos de dados; JNDI: acesso a servidores de nomes; RMI: invocação remota de métodos; Beans: padrão JavaBeans; i18n: suporte a internacionalização; I/O: entrada e saída (arquivos); JNI: integração com linguagens nativas; Math: cálculos matemáticos;

Page 61: Conhecendo Java

Principais APIs Networking: transmissão pela rede; Security: segurança; Serialization: persistência por serialização; XML: processamento de XML e afins; Lang & Util: núcleo da linguagem, utilitários

(coleções, datas, compactação, etc.); Concurrency: programação concorrente

(threads); Logging: funções de relatório (log); Reflection: reflexão e instrospecção.

Page 62: Conhecendo Java

Java Platform, Enterprise Edition

Permite o desenvolvimento de aplicações corporativas: Multi-camada, distribuídas, centradas em

servidores, altamente robustas, estáveis e escaláveis;

Inclui as especificações para desenvolvimento Web: Servlets, JSP, Web Services.

Page 63: Conhecendo Java

Servlets, JSP e EJBs

Servlets e JSPs: Componentes que respondem à requisições

web, usados para construir páginas dinâmicas e Web Services.

EJBs: Componentes gerenciados integrados a outras

tecnologias Java EE para prover acesso remoto, persistência e transações transparentes, processamento assíncrono, etc.

Page 64: Conhecendo Java

Outras tecnologias

Java EE não é só Servlets e EJB: RMI/IIOP e Java IDL: conectividade; JNDI: serviço de nomes; JAC e JNI: acesso a sistemas legados; JAAS: segurança; JTA: transações em bancos de dados; JMS e JavaMail: envio de mensagens; E tudo mais que já temos no J2SE...

Page 65: Conhecendo Java

Servidores Java EE

Ao contrário do Java SE, a implementação da Sun é só para referência;

Servidores web: Apache Tomcat, Caucho Resin, Jetty, etc.

Servidores de aplicação: BEA WebLogic, Borland Enterprise Server,

JBoss Application Server, Oracle Application Server, IBM WebSphere, etc.;

Page 66: Conhecendo Java

Java Platform, Mobile Edition

Permite o desenvolvimento de aplicações para dispositivos móveis: Telefones celulares; PDAs (Palm, iPaq, etc.); Dispositivos embarcados (embedded); Etc.

Java Card: aplicações para Smart Cards e outros dispositivos muito limitados.

Page 67: Conhecendo Java

Configurações Java ME

Atualmente são duas: CLDC: Connected Limited Device

Configuration; CDC: Connected Device Configuration.

Cada uma possui uma API diferente, dependendo da capacidade do dispositivo (limitada ou não).

Page 68: Conhecendo Java

30/11/2007

Java em todo lugar

Page 69: Conhecendo Java

Java está em todo lugar

Page 70: Conhecendo Java

09/10/2007

Applets

Page 71: Conhecendo Java

09/10/2007

Enterprise

Page 72: Conhecendo Java

09/10/2007

Móveis

Page 73: Conhecendo Java

09/10/2007

Desktop

Page 74: Conhecendo Java

09/10/2007

De ponta a ponta

Page 75: Conhecendo Java

30/11/2007

Como começar

Page 76: Conhecendo Java

Preparando o Ambiente

Fazer download do JDK E também da documentação

http://java.sun.com Escolha a versão do seu sistema

operacional.

Page 77: Conhecendo Java

Instalando

Windows Instalador padrão Microsoft, simplificado. Documentação compactada (zip).

Linux Algumas distros possuem pacote de

instalação e/ou repositórios. Documentação compactada.

Page 78: Conhecendo Java

Escrevendo Programas

Use uma IDE: Eclipse; NetBeans; JetBrains IntelliJ IDEA; Borland JBuilder; Etc.

Editores mais simples: JEdit; JCreator, etc.

Page 79: Conhecendo Java

30/11/2007

Exemplos e Produtividade

Page 80: Conhecendo Java

30/11/2007

Java e o Mercado

Page 81: Conhecendo Java

09/10/2007

Empresas

Page 82: Conhecendo Java

O mercado em números Informações do JavaOne:

900+ milhoes de micros rodando aplicacoes Java; 300 milhoes de downloads da Java desde junho de

2003; 12 milhoes de visitas por mes ao site java.com; 5 milhoes de desenvolvedores Java no mundo; 180.000 desenvolvedores registrados no site

java.net; 912 membros no JCP; 1++ bilhoes de celulares rodando Java no mundo;

Page 83: Conhecendo Java

O mercado em números

Informações do JavaOne: 635 modelos de celular no mundo com Java; 32 fabricantes de celulares Java no mundo; 140 operadoras de telefonia movel usando Java; 3 milhoes de downloads de JavaEE; 28 tipos diferentes de servidores Java; A e-Bay confia em Java para todas suas vendas

que ultrapassam US$ 1.400,00 por segundo!

Page 84: Conhecendo Java

O mercado em números Estimativa que Java movimenta US$ 100

bilhões / ano e vem crescendo; A Sun está em mais de 170 países e tem

uma receita anual de mais de US$ 18,3 bilhões;

100% das 500 maiores empresas (segundo a Fortune) usam Java;

A Sun mudou o seu nome na bolsa de valores de SUNW para JAVA;

Page 85: Conhecendo Java

O mercado em números

Segundo o Instituto Gartner: Java é a tecnologia escolhida pelas

empresas, 60% já usam, 22% planejam; Java e .NET terão 80% do mercado até

2008 (40% cada uma). Java x .NET:

Muita guerra de marketing e religião; Não há consenso de qual é superior.

Page 86: Conhecendo Java

09/10/2007

Mercado Brasileiro

Fonte: DFJUG

Page 87: Conhecendo Java

Mercado Brasileiro

Fonte: DFJUG

Page 88: Conhecendo Java

Mercado Brasileiro

Fonte: DFJUG

Page 89: Conhecendo Java

Mercado Brasileiro

Fonte: DFJUG

Page 90: Conhecendo Java

Mercado Brasileiro

5 milhões de desenvolvedores Java no Mundo. Estima-se 50 mil no Brasil

Page 91: Conhecendo Java

Empregos Oportunidade:

Muitas vagas surgindo; Poucos capacitados, poucos certificados; Bons salários.

No Ceará: Mercado em ótima fase de crescimento e

oportunidades;

Page 92: Conhecendo Java

Certificações A Sun cria provas para certificar

profissionais na plataforma Java; O instituto Thomson Prometric aplica a

prova em vários lugares do Brasil; No Ceará:

Evolução: http://www.evolucao.com.br Lanlink: http://www.lanlink.com.br

Profissional certificado possui reconhecimento no mercado;

Infelizmente não tem tanto efeito no salário;

Page 93: Conhecendo Java

As Certificações

Page 94: Conhecendo Java

30/11/2007

Comunidades

Page 95: Conhecendo Java

Java e OpenSource

Centenas de projetos no SourceForge: perde apenas para C/C++;

Primeiro lugar no FreshMeat; Java.net: 180.000 membros e mais de

1.500 projetos; Java-Source.net: projetos divididos em mais

de 50 categorias; Mais de 550 grupos de usuários no mundo.

Page 96: Conhecendo Java

Comunidades Virtuais

PortalJava (http://www.portaljava.com);

GUJ (http://www.guj.com.br); JavaFree (http://www.javafree.com.br); E muitos outros (google.com.br);

Page 97: Conhecendo Java

Como participar

O que podem fazer por você: Notícias; Artigos e tutoriais; Fóruns; Downloads e links; Eventos; Etc.

O que você pode fazer? Cadastrar-se; Participar

respondendo dúvidas;

Escrever artigos; Enviar notícias; Etc.

Page 98: Conhecendo Java

09/10/2007

Grupos de Usuário

Page 99: Conhecendo Java

CEJUG!

Page 100: Conhecendo Java

Atividades

Cursos; Grupos de estudo; Reuniões mensais; Palestras; Eventos; Etc.

Participe!

Page 101: Conhecendo Java

Revistas

Page 102: Conhecendo Java

30/11/2007

Futuro e Tendências

Page 103: Conhecendo Java

Tendências

JavaME – Aplicações para dispositivos móveis. Mercado em ampla expansão. Ajuda das empresas de celulares. Ainda não se sabe tudo que é possível

fazer.

Page 104: Conhecendo Java

Tendências AOP – Programação Orientada a Aspectos

Criada em 1997 pela Xerox; Tem sido a grande vedete em Java atualmente; Base de muitos frameworks importantes e

conhecidos; SOA – Arquitetura Orientada a Serviços

Montagem de aplicações com serviços compartilhados;

Não é tecnologia, framework ou software;

Page 105: Conhecendo Java

Tendências

Web 2.0 e AJAX Novo conceito para desenvolvimento de páginas

e sistemas web; Usuário em foco; Conteúdo criado por usuários para usuário; Necessidade de interfaces ricas e de alta

usabilidade;

Page 106: Conhecendo Java

Tendências

Profissonal Cuidado com a “novidade do mês” Mais que saber a linguagem, é preciso

saber a arquitetura e como elas se ligam.

Page 107: Conhecendo Java

30/11/2007

E agora?

Page 108: Conhecendo Java

Gostei, quero me aprofundar

Você está com sorte: Muitos livros (alguns até gratuitos); Muitos tutoriais (o da Sun é muito bom); Cursos; Portais; Grupos de usuários; Eventos;

Page 109: Conhecendo Java

Gostei, quero me aprofundar

Cuidado com o framework ou com a API da moda;

Defina um foco; Procure participar de projetos

liderados por outras pessoas. Ganhe experiência; Conheça novas técnicas;

Page 110: Conhecendo Java

Referências Empresas que promovem cursos:

http://www.caelum.com.br http://www.argonavis.com.br

Comunidades virtuais: http://www.portaljava.com http://www.guj.com.br

Grupos de usuários: http://www.soujava.org.br http://www.cejug.org

Materiais: Apostila Java Básico e Intermediário (Felipe Gaúcho) Apostilas Java Básico Caelum

Page 111: Conhecendo Java

That’s all folks Muito obrigado a todos;

Contatos: Rafael Carneiro V. Batista (Carneiro)

www.rafaelcarneiro.org [email protected] | [email protected]

www.portaljava.com | www.cejug.org

Page 112: Conhecendo Java

30/11/2007

Agradecimentos FJN – Faculdade de Juazeiro do Norte

Paulo César M. Jeveaux (www.jeveaux.com)