wpjr2’s Weblog

Artigos e tutoriais úteis

Arquivo para Abril 16th, 2008

Jogos em Java

Escrito por wpjr2 em Abril 16, 2008

Enviado em Curso de Programação Java | Tagged: , | Nenhum comentário »

Eclipse vs. NetBeans

Escrito por wpjr2 em Abril 16, 2008

Existem em diversos sites e blogs discussões sobre a melhor ferramenta IDE para o desenvolvimento de aplicações em Java. De todas existentes no mercado, duas se destacam nesta disputa: o Eclipse e o NetBeans.

O Eclipse iniciou como um projeto interno da IBM com o objetivo de substituir a IDE VisualAge. No início de 2001, um consórcio de empresas foi criado com o objetivo de gerenciar o projeto, tornando-o open source.

O NetBeans foi criado a partir de um projeto acadêmico da faculdade de matemática e física da Universidade de Charles em Praga. Com a criação de uma empresa oriunda deste projeto, a Sun comprou-o em 1999, tornando-o open-source no ano seguinte.

Quais são algumas das características desejáveis em um ambiente de desenvolvimento integrado? Segue abaixo algumas das boas características de uma IDE:

- Templates de código para refatoração de métodos e outras estruturas
- Extensibilidade (plugins)
- Desempenho
- Fácil de configurar e usar
- Amplo suporte e documentação

NetBeans

Apesar deste ter estado um pouco atrás nos últimos anos, o Netbeans tem ganhado espaço no desenvolvimento de aplicações Web em Java, graças aos Kits gráficos de construção de telas via drag-and-drop. O mesmo se aplica para a construção de telas em desktop e também para aplicações móveis em JavaME.

Vantagens:

- GUI Builder eficiente para desktop e Web (GUI Builder, Visual Web Pack, Mobile Designer)
- Combina direto com o JDK da Sun, podendo ser baixados juntos do site
- Pouca configuração necessária para iniciar o desenvolvimento
- Criação rápida de aplicações Web, já vem configurado para o desenvolvimento JavaEE
- Recomendado para iniciantes
- Tem evoluido de uma forma mais acelerada
- Consegue importar projetos já existentes no Eclipse

Desvantagens

- Poucos templates de código
- Código não alterável no GUI Builder do NetBeans
- Pouco controle no código da aplicação por parte do desenvolvedor. A IDE gera código automaticamente sem que o desenvolvedor o conheça.
- Possuir muitas tecnologias embutidas que poderiam ser consideradas plugins (Ex: Tomcat)
- Tem suporte a apenas o WTK da Sun para desenvolvimento J2ME
- Pouco controle sobre a criação de projetos via clicks

Eclipse

Para a maioria dos casos, o Eclipse é considerado como uma das melhores ferramentas de desenvolvimento de aplicações Java, independente da plataforma (ME, SE ou EE). A rapidêz e a eficiência no gerenciamento da codificação pelo desenvolvedor tornou o Eclipse quase um padrão nos últimos anos. Os desenvolvedores mais experientes possuem uma preferência para este devido à sua capacidade de refatoração, plugins disponíveis, arquitetura OSGi, dentre outras.

Vantagens:

- Diversos templates de código (criar get/set, criar construtores, refatoração)
- Desempenho, pois utiliza o SWT (nativo) que é mais rápido do que o Swing (Java)
- Recomendado para experientes
- Diversidade de plugins (Hibernate, Database, WST, Checkstyle, PMD, Maven, C++,etc).
- Evoluiu significativamente no início, mas tem desacelerado recentemente.
- Suporte a diferentes Mobile Toolkits (J2ME)
- Maior popularidade no mercado
- Look and feel melhor
- Utiliza a plataforma OSGi no seu ambiente de execução

Desvantagens

- Complexidade de instalação alguns plugins básicos, como o Visual Editor
- Não consegue importar projetos do NetBeans

Vitoriosos:

- A linguagem Java
- Mercado de desenvolvimento com opções de boa qualidade
- Os desenvolvedores quanto à qualidade das ferramentas de desenvolvimento

Detalhes importantes:
- Não ficar preso à uma IDE específica, já que esta disputa está longe de se finalizar.
- Utilizar as duas ao mesmo tempo para projetos diferentes, para que se tenha um conhecimento das vantagens e desvantagens para cada tipo de projeto.

Enviado em Curso de Programação Java | Tagged: , , | 1 Comentário »

Siglas Relacionadas

Escrito por wpjr2 em Abril 16, 2008

Segue abaixo uma listagem e significado das principais siglas relacionadas à tecnologia Java:

  • API: Application Programming Interface, define uma interface de programação onde aplicações desenvolvidas na linguagem Java podem utilizar recursos (classes e bibliotecas) já existentes ou na linguagem ou em bibliotecas diversas.
    Este termo também é aplicável à documentação existente de todas as classes que compôem a plataforma, que pode ser chamada de JavaDoc.
  • AWT: Abstract Window Toolkit, toolkit de desenvolvimento de telas gráficas para aplicações Java.
  • CORBA: Common Object Request Broker Architecture, arquitetura de requisição de objetos distribuidos pela rede
  • GUI: Graphical User Interface, interface gráfica de usuário
  • IDE: Integrated Development Environment, ferramenta de desenvolvimento integrado utilizada no desenvolvimento de aplicações. Exemplos incluem o Eclipse, NetBeans, JBuilder, IntelliJ Idea, JDeveloper, JCreator, dentre outras.
  • IIOP: Internet Inter Orb Protocol
  • JavaDoc: padrão de documentação de classes Java onde comentários são inseridos de dentro do código e uma documentação é gerada em HTML a partir deste código via comando javadoc.
  • JDBC: Java Database Connectivity, padrão de conectividade da linguagem Java com SGBDs.
  • JIT: Just In Time Compiler, também conhecido como tradução dinâmica, é uma técnica usada para melhorar o desempenho de um programa em tempo de execucão. O código intermediário de máquina (bytecode) é convertido para nativo (linguagem de máquina) antes de sua execução nativa.
  • JVM: Java Virtual Machine, a máquina virtual Java responsável pela execução de código intermediário de máquina (bytecode) sobre uma plataforma de hardware ou sistema operacional específico.
  • JRE: Java Runtime Environment, contemplando o ambiente de execução do Java (Java Virtual Machine)
  • JDK: Java Development Kit: Kit de desenvolvimento Java, composto do compilador (javac) e do ambiente de execução Java (JVM).
  • JCP: Java Community Process, o processo da comunidade Java onde as tecnologias relacionadas à linguagem são criadas e padronizadas, considerada o berço das tecnologias Java.
  • JSR: Java Specification Request: requisição de especificação de alguma tecnologia associada à linguagem Java.
  • Javac: Java Compiler: o compilador na linguagem Java implementado pela Sun
  • JAR: Java Archive, formato de arquivo usado como padrão para agregar classes Java compiladas (.class) e arquivos de metadados associados em bibliotecas.
  • JavaME: Java Micro Edition, plataforma de desenvolvimento de aplicações móveis.
  • JavaSE: Java Standard Edition, plataforma de desenvolvimento de aplicações sobre o desktop.
  • JavaEE: Java Enterprise Edition, plataforma de desenvolvimento de aplicações corporativas sobre a Internet.
  • OOP: Object Oriented Programming, paradigma de programação onde um dado sistema é construido a partir de objetos e estes objetos comunicam entre si através de mensagens.
  • RMI: Remote Method Invocation, invocação remota de métodos via rede, termo específico ao Java.
  • RPC: Remote Procedure Call, chamada remota a procedimentos, o análogo de RMI, porém mais genérico.

Enviado em Curso de Programação Java | Tagged: , | Nenhum comentário »