Introdução ao Eclipse RCP

Conheça a plataforma que está revolucionando a maneira de desenvolver sistemas desktop com Java.

 

A plataforma RCP do eclipse fornece uma maneira simples, poderosa e flexível de desenvolver sistemas desktop usando a linguagem de programação Java.

 

SWT

O Eclipse utiliza o toolkit gráfico SWT (Standard Widget Toolkit) no lugar do tradicional Swing. Existe muito debate sobre qual o melhor deles, cada qual com suas vantagens e desvantagens. O SWT difere do Swing basicamente por não tentar emular componentes, ele usa os controles e diálogos do sistema operacional sobre o qual a JVM está sendo executada. Isto faz com que as aplicações escritas com base no SWT se pareçam com aplicações nativas, como as escritas em Visual Basic ou Delphi, por exemplo, enquanto que o swing desenha os próprios widgets, que mantêm a consistência nas várias plataformas onde é executado, mas com pequenas falhas por não utilizar componentes nativos (um exemplo clássico sendo a tela de ‘Abrir arquivo’ que, apesar de parecer “real”, é falsa, não propiciando ao usuário as mesmas características que a tela nativa do sistema operacional).

 

Sem querer entrar no mérito da questão, a característica do SWT de herdar o visual das aplicações nativas (e mais do que isso, de usar os componentes nativos do sistema) é o foco de sua existência, e de extrema importância em alguns ambientes onde já se criou resistência ao Java como linguagem de programação para desktop.

O efeito “eu não acredito que isto é Java” provocado pelo SWT/Eclipse realmente existe. Você verá.

 

É importante notar que, apesar do SWT ser um componente chave da plataforma eclipse, trata-se de uma biblioteca independente, que pode ser utilizada isoladamente para construir aplicações Java para desktop, de maneira simples e rápida.

 

JFace

Além do SWT, o eclipse usa extensivamente a biblioteca JFace, que extende o SWT básico, adicionando-lhe novos diálogos, controles e classes úteis.

 

O JFace também pode ser utilizado fora da plataforma eclipse, adicionando mais poder às suas aplicações SWT.

 

A figura 01 abaixo mostra a relação entre os componentes da plataforma RCP.

 

inteclrcpfig01.jpg

Figura 01: Eclipse Workbench

 

Obviamente existem vários outros componentes dentro da plataforma RCP, mas o ‘workbench’  (este e outros termos serão esclarecidos posteriormente) do eclipse é construído usando-se as bibliotecas SWT e JFace.

 

Se desejar maiores informações sobre o uso das bibliotecas SWT e JFace fora da plataforma eclipse, leiam o artigo SWT, JFace e Componentes – Parte 1 aqui mesmo na DevMedia.   

 

Plugins

No eclipse, tudo são plugins. O próprio eclipse (IDE) é constituído de um conjunto de plugins inter-relacionados. Suas aplicações RCP são também conjuntos de plugins. O “peso” da plataforma RCP gira em torno de 12MB (Eclipse 3.2) variando de acordo com os recursos utilizados.

 

Para um maior entendimento, vamos criar o famoso exemplo “Hello World” usando a plataforma Eclipse. Afinal, o que seria de um artigo introdutório à uma nova técnica de programação sem um exemplo Hello World ?

 

Primeiro, caso ainda não o tenha feito, baixe o Eclipse SDK, do site oficial do projeto. No momento em que este artigo estava sendo escrito a versão estável mais recente era a 3.2.1.

 

Faça também o download do NL1 (Language Pack) para ter seu eclipse traduzido para pt-BR.

 

A instalação do eclipse é extremamente simples, basta descompactá-lo numa pasta qualquer e executar o eclipse.exe. Claro, estamos presumindo que você já tenha o J2SE JDK instalado em seu computador. Se ainda não tiver, faça o download no site oficial do Java. Cuidado para não baixar o pacote da JDK6 que vem com o NetBeans junto. J

 

Hello World

Agora que você está com o ambiente pronto, vamos criar o nosso plugin de teste.

 

No Eclipse, vá em Arquivo à Novo à Projeto conforme ilustrado na figura 02 mostrada abaixo:

 

inteclrcpfig02.jpg

Figura 02: Novo projeto no eclipse

 

Surgirá a tela “Novo projeto  mostrada na figura 03:

 

inteclrcpfig03.jpg

Figura 03: Assistente de novo projeto

 

Selecione a opção Projeto de Plug-In e clique sobre o botão Avançar.

 

Agora o assistente de novo projeto exibe uma tela semelhante à figura 04 mostrada abaixo:

 

inteclrcpfig04.jpg

Figura 04: Configurações iniciais do projeto

 

Nome do projeto: br.com.devmedia.HelloWorld

Aceite o restante das configurações padrão apresentadas nesta tela.

 

Clique novamente sobre o botão Avançar e a tela agora se parecerá com a figura 05:

 

inteclrcpfig05.jpg

Figura 05: Detalhes da configuração do plugin

 

Esta tela tem 2 opções realmente importantes:

A primeira, dentro do grupo “Opções de Plug-in” informa se este plugin fará ou não contribuições à UI (User Interface) do Eclipse. Num projeto de porte médio ou grande você provavelmente terá plugins que não são gráficos, fornecendo apenas recursos aos demais plugins. Por exemplo um plugin com as classes que servem de interface para a camada de persistência.

 

A segunda opção está dentro do grupo “Aplicativo de Cliente Rich” e permite a você informar se este plugin é a base de um programa RCP. Por padrão vem marcado como Não, mas para o nosso exemplo será necessário alterar esta configuração para Sim, conforme mostrado na figura 05.

 

Após preencher as opções desta tela, clique novamente sobre o botão “Avançar” e a tela se parecerá com a figura 06:

 

inteclrcpfig06.jpg

Figura 06: Modelos de aplicativos RCP para escolher

 

Uma grata surpresa! O assistente de novo projeto do eclipse nos apresenta uma tela com 4 modelos de aplicativos Rich Client para escolher. Estes modelos servem como base para a criação do seu sistema, evitando que muita coisa precise ser escrita “no braço”.

 

Utilizando um destes modelos, o próprio Eclipse se encarrega de gerar um esqueleto do projeto com todas as classes necessárias para inicializar corretamente o seu aplicativo.

 

Para o nosso programa de testes, iremos utilizar o modelo que tem o sugestivo nome de “Hello RCP”. Selecione-o na listagem mostrada, conforme indicado pela figura 06.

 

Você pode agora clicar sobre o botão “Concluir” e deixar que o Eclipse faça a geração do código necessário ou clicar em “Avançar” e preencher mais algumas informações sobre o projeto, como mostrado na figura 07 abaixo:

 

inteclrcpfig07.jpg

Figura 07: Ultimas informações sobre o novo plugin

 

Ao clicar em “Concluir” o Eclipse irá gerar todos os arquivos necessários ao seu projeto. Para executar o seu primeiro programa RCP, clique sobre o link “Ativar um Aplicativo Eclipse” na aba que estará aberta após a confirmação no assistente de novo projeto, conforme ilustrado pela figura 08:

 

inteclrcpfig08.jpg

Figura 08: Editor de configurações do plugin

 

Executando o nosso plugin Hello World, obtemos:

 

inteclrcpfig09.jpg 

Figura 09: Primeira aplicação RCP

 

Agora que você já conhece a plataforma Eclipse e o assistente para criação de novos plugins, sugiro que explore os outros modelos apresentados. Estude as classes geradas pelo assistente e leia a documentação disponível no site oficial do projeto eclipse.

 

Nos próximos artigos, irei aprofundar mais nos meandros da plataforma Eclipse, mostrando dicas e boas práticas ao trabalhar com a plataforma. Iniciaremos a construção de um pequeno sistema de vendas, que nos permitirá abranger áreas bem distintas, que vão desde a construção de telas internas usando SWT/JFace, os detalhes da camada de persistência até os relatórios finais em jasper reports.Até o próximo artigo.