Home  ·  Search
JavaMan
 
 Buscando a Solução na Web


JavaMan
SouJava
java.sun.com



Links


Java
-
Produtos
-
JUGs no Brasil
-
Projetos
-
Artigos

Sobre o JavaMan
-
Curriculo
-
JavaBaby
-
o Site
                   

 
Eu participo de algumas listas de discussão sobre Java, e procuro responder o máximo de perguntas possível. Além disso, dentro da Sun do Brasil eu sou o ponto de referência para qualquer assunto de Java, seja técnico, comercial ou produtos. É claro que não é possível para uma pessoa saber sobre tudo o que se passa no gigantesco mundo de Java, mas de uma forma ou de outra, acabam esperando isso quando essa pessoa é o "Java Man". Esse é um dos ossos do ofício...

Portanto, eu posso dizer que eu tenho uma certa experiência em encontrar soluções de problemas relacionados com Java, e vou tentar descrever o meu "método" - na verdade, chamar de método é um pouco de pretensão, pois não passa de uma série de recursos que eu utilizo no dia-a-dia. É claro que no processo de busca existe um certo nível de conhecimento embutido, e que muitas vezes é difícil de perceber, mas ainda assim, acredito que os recursos que eu uso serão de grande valia para qualquer desenvolvedor Java.

Antes de mais nada, existem alguns recursos no meu artigo sobre começando a aprender Java, e vale a pena você dar uma olhada lá, em especial se você não é muito experiente na tecnologia.

Recursos Básicos

Todo programador Java precisa ter alguns links básicos na cabeça, não importa se você é um expert ou um novato. Alguns desses links são:
  • java.sun.com [http://java.sun.com] - site oficial de Java da Sun. Esse é o ponto de partida para qualquer coisa relacionada com Java.
    • Produtos Java [http://java.sun.com/products] - nessa página você encontra links para todo e qualquer API Java já especificada. Fundamental, e sempre é bom você saber pelo menos o básico sobre cada um desses produtos (saber do que se trata já é um bom começo). Eu costumo indicar para quem quer se tornar profissional, para seguir cada um dos links dessa página, e ler a página inicial de cada tecnologia, só pra saber do que se trata.
    • Java Tutorial [http://java.sun.com/tutorial] - o Tutorial Java. Muitas vezes programadores experientes acham que tutorial é para iniciantes. Eu nunca encontrei um desenvolvedor Java, por mais experiente que seja (eu inclusive), que não tenha nada para aprender no Java Tutorial. Você precisa pelo menos conhecer quais são os tópicos abordados por esse tutorial, para poder recorrer a ele quando for necessário.
  • JavaWorld [http://www.javaworld.com] - a JavaWorld é uma revista online bastante técnica, e os artigos em geral são de excelente qualidade. Você deve dar sempre uma olhada para ver se não existe um artigo sobre o que você esta precisando.
    • JavaWorld - topical index - dentro da JavaWorld esse talvez seja um bom ponto para começar, já que lista os vários tópicos que a revista trata ou já tratou.
  • Gamelan [http://www.gamelan.com] e JARS [http://www.jars.com] - esses dois são locais para encontrar componentes, produtos, bibliotecas, etc, desenvolvidos em Java. Muita coisa é gratuita (freeware, domínio público), mas muita coisa é comercial também. Observe que esses dois sites possuem página de busca, mas no caso do Gamelan, o link para a página de buscas está escondido no menu no final da página, e pode passar despercebido para quem não conhece.
  • Java Platform 1.2 API Specification - Principal documentação das APIs Java, gerada automaticamente através do JavaDoc. Essa documentação pode ser acessada via web, mas o melhor é instalá-la junto do seu ambiente. Apesar de muitas ferramentas de desenvolvimento já virem com essa documentação embutida de uma forma ou de outra, é importante você ter sempre a versão oficial com você. Se você baixar e instalar essa documentação, ela em geral é colocada em <instalação_do_jdk>/docs/api/index.html.
OBS: os links que escritos por [extenso] são aqueles que eu considero importante saber de cabeça - é isso mesmo, saber "de cor"! Os outros, você pode ter nos seus bookmarks, ou vir acessar a partir dessa página.
 

Tipos de Perguntas

Existem diversos tipos de perguntas que tenho que responder no dia-a-dia. Para cada tipo, muitas vezes é necessário uma forma diferente de resolver.

Preciso de um produto/biblioteca em Java que faça ???

Diversas variações dessa pergunta podem vir desde do pessoal de vendas (meu cliente quer fazer isso e isso, tem algum produto em Java?), até desenvolvedores (preciso de um componente que faça tal e tal, existe?).

A forma mais fácil é você usar a web. Antes de mais nada, verifique se não tem nada parecido nas bibliotecas padrão da tecnologia Java. Tirando essas, eu faço uma busca pelos search engines genéricos (Altavista e Yahoo), e também busco nos sites específicos sobre Java: Gamelan e JARS.

O problema que muita gente tem é de saber que busca realizar. Faça a busca no mínimo em inglês, inclua o português se você quiser. Traduza para o inglês algumas palavras que indiquem a principal caracteristica do produto que você está procurando, e se você estiver em um search engine genérico, não esqueça de colocar "+java" para encontrar coisas relacionadas com Java. Nos engines genéricos, você poderá ter que tentar algumas combinações até encontrar alguma coisa, enquanto que nos engines específicos sobre Java, eu aconselho que você olhe o máximo de resultados possível, pois as vezes o que você está procurando está escondido no meio de outras coisas sem muita relação.

Outros lugares para você realizar a sua busca:

Vale a pena de vez em quando navegar nos sites acima, como forma de ter uma noção do que existe por ai. Esse conhecimento sempre é útil.

Como faço ??? com Java?

Essa pergunta pode ser bem básica (como faço para abrir um arquivo com Java), ou ser bem abrangente e complexa (como faço para desenvolver uma aplicação de comércio eletrônico com Java?). O importante é se começar com o entendimento que qualquer coisa que queira fazer, você consegue fazer com Java, você só precisa se acostumar a pensar no problema sob uma perspectiva Java.

E o que significa essa "perspectiva" Java? Pense como o seu produto se beneficiaria das principais características da tecnologia Java: independência de plataforma, carregamento dinâmico de código pela rede e a facilidade de uso da rede.

Muita gente que esta começando (e alguns veteranos) me dizem que tem dificuldade em pensar em uma solução em Java para um determinado problema. Observe que se você consegue ver vantagens nos tres pontos que coloquei acima, nenhuma outra tecnologia vai te permitir tirar proveito disso, e você já tem um forte argmento para desenvolver em Java.

E como costurar efetivamente uma arquitetura Java? Só existe um caminho seguro: conheça todas (ou pelo menos o maior número possível) as bibliotecas Java listadas na página de produtos. Se parece muito, pelo menos tente ler a descrição de cada uma das tecnologias (siga o link na página de produtos e leia a primeira página). Só assim você terá jogo de cintura para saber relacionar as diversas tecnologias. Mas você pode também dar uma lida no documento "Sun BluePrintsTM Design Guidelines for Java 2 Enterprise Edition", que discute algumas das principais decisões que você tem que tomar em uma arquitetura Java sofisticada.

Para as perguntas mais simples, eu sugiro o conhecimento da documentação. Um bom lugar para começar é na primeira página da Java Platform 1.2 API Specification (que se você instalou no seu sistema, deve estar em <instalação_do_jdk>/docs/api/index.html). Nessa primeira página você encontra uma rápida descrição dos diversos pakages existentes na biblioteca Java básica. Você precisa conhecer esses pacotes, e a descrição geral de cada um deles. Caso você não conheça, vá sempre em primeiro lugar nessa página da documentação, e verifique se a funcionalidade que você precisa está listada em algum deles.

Outro bom lugar para você procurar, se também for algo mais simples que não envolva arquitetura, é o Java Tutorial. verifique se algum dos "trails" (caminhos) do Java Tutorial cobre o assunto que você precisa. Isso pode te obrigar a olhar o que cada um dos trails cobre, mas você precisa conhecê-los mesmo, então, não adianta adiar.

Outros links interessantes para tentar resolver o seu problema:

Estou usando a biblioteca XYZ, e estou tendo problemas para fazer ???

Essa é a típica questão que você precisa utilizar a documentação para responder, ou então algum artigo sobre o assunto. Nesse caso, alguns links que você poderá utilizar são:

A documentação fala uma coisa, mas não está funcionando...

Nessa caso, você tem dois recursos pricipais: algum dos vários FAQs (quem sabe você identifique o que está fazendo de errado) ou no Bug Parade, a lista de bugs conhecidos (nesse caso você descobre que o erro não é seu, e possivelmente encontra uma forma de contornar o problema).

Conclusão...

Um artigo como esse não se conclui, já que novos recursos deverão ser incluidas no decorrer do tempo. Acredito que se você conhecer e fizer bom uso do que está disponível na web, e aprender a utilizar os recursos aqui listados efetivamente, você se tornará um desenvolvedor Java cada vez melhor, e isso te valorizará muito no mercado.

Caso você queira compartilhar com outros desenvolvedores os seus próprios recursos para a resolução de problemas, envie-me as suas sugestões.
 
 
 
 

Home  ·  Search

[ Envie seus comentarios para o JavaMan ]