Introdução à Plataforma Eclipse

Use os plug-ins para editar, compilar, depurar e atuar como uma base para seus aplicativos

Conheça a plataforma Eclipse, incluindo sua origem e arquitetura. Iniciando com uma breve abordagem sobre a natureza de software livre do Eclipse e seu suporte a diversas linguagens de programação, demonstraremos o ambiente de desenvolvimento Java™ com um exemplo de programação simples. Pesquisaremos algumas ferramentas de desenvolvimento de software disponíveis como extensões de plug-in.

Chris Aniszczyk, Software Engineer, IBM

Chris AniszczykChris Aniszczyk é committer do Eclipse no IBM Lotus que trabalha no desenvolvimento relacionado com OSGi. No momento, ele se concentra em melhorar o Plug-in Development Environment (PDE) e promover o Eclipse dentro da organização Lotus da IBM. Ele é um admirador do software livre, especializado em divulgar essa filosofia. Em seu blog, ele escreve sobre o Eclipse e recebeu a honra de representar os committers do Eclipse no conselho de administração da Eclipse Foundation. Chris está sempre disponível para falar sobre software livre e Eclipse, até mesmo em momentos informais.



David Gallardo, Software Consultant

David Gallardo é consultor de software independente e autor especializado em internacionalização de software, aplicativos da Web Java e desenvolvimento de banco de dados. Ele é engenheiro de software há mais de 15 anos e tem experiência com diversos sistemas operacionais, linguagens de programação e protocolos de rede. Sua experiência recente inclui liderar a implementação de banco de dados e internacionalização em uma empresa de e-commerce business-to-business, a TradeAccess, Inc. Anteriormente, foi engenheiro senior do grupo International Product Development na Lotus Development Corporation, onde contribuiu para o desenvolvimento de uma biblioteca entre plataformas fornecendo suporte à linguagem internacional e Unicode para produtos Lotus, incluindo Domino.



06/Fev/2012

Este artigo, que complementa o artigo "Introdução à Plataforma Eclipse", de David Gallardo, oferece novas informações pertinentes ao Eclipse V3.3. Leia " Visão Rápida do Eclipse Ganymede" para obter informações relevantes à V3.4 e "Visão Geral do Eclipse Galileo" para obter informações relevantes à V3.5.

O que é o Eclipse?

O Eclipse é uma plataforma de desenvolvimento de software livre extensível, baseada em Java. Por si só, é simplesmente uma estrutura e um conjunto de serviços para desenvolvimento de aplicativos de componentes de plug-in. Felizmente, o Eclipse vem com um conjunto padrão de plug-ins, incluindo as amplamente conhecidas Ferramentas de Desenvolvimento Java (JDT).

Embora a maioria dos usuários esteja satisfeita em usar o Eclipse como um ambiente de desenvolvimento integrado (IDE) Java, a plataforma ambiciona mais. O Eclipse também inclui o Plug-in Development Environment (PDE), que é de interesse principalmente daqueles que desejam estender o Eclipse, visto que ele permite desenvolver ferramentas que se integram perfeitamente ao ambiente do Eclipse. Como tudo no Eclipse é plug-in, todos os desenvolvedores de ferramentas têm um campo de ação nivelado para oferecer extensões ao Eclipse e fornecer um IDE unificado e consistente aos usuários.

Essa paridade e consistência não se limitam às ferramentas de desenvolvimento Java. Embora o Eclipse seja escrito na linguagem de programação Java, seu uso não se limita à linguagem Java. Por exemplo, estão disponíveis ou planejados plug-ins que incluem suporte para linguagens de programação como C/C++ e COBOL. A estrutura do Eclipse também pode ser usada como base para outros tipos de aplicativos não relacionados ao desenvolvimento de software, com sistemas de gerenciamento de conteúdo.

Um grande exemplo de aplicativo baseado em Eclipse é o IBM® Rational® Software Architect (veja Recursos), que compõe a base da família de ferramentas de desenvolvimento Java da IBM.

O Eclipse é software livre

Software livre é aquele liberado com uma licença que se destina a assegurar que determinados direitos sejam concedidos aos usuários. Evidentemente, o direito mais óbvio é que o código de origem deve ser disponibilizado de modo que os usuários possam modificar e redistribuir o software. Essa proteção dos direitos do usuário é obtida com um dispositivo denominado copyleft: a licença de software reivindica a proteção de copyright e proíbe distribuição, exceto para os usuários que tenham os respectivos direitos. O copyleft também requer que qualquer software redistribuído seja coberto pela mesma licença. Como, na verdade, subverte o propósito do copyright — usar o copyright para conceder direitos ao usuário, em vez de preservá-los para o desenvolvedor do software — o copyleft é frequentemente descrito como "todos os direitos revertidos".

Muito do medo, incerteza e dúvida que se disseminou sobre software livre envolve a assim chamada natureza viral das licenças de copyleft — a ideia de que se usar software livre como parte de um programa que você desenvolver, perderá a propriedade intelectual porque a licença "infectará" as partes proprietárias desenvolvidas. Em outras palavras, a licença pode exigir que todo software empacotado com o software livre, incluindo qualquer software recém-desenvolvido, deva ser liberado sob a mesma licença. Embora isso possa ser verdade para a maioria das licenças de copyleft bem conhecidas, a Licença Pública Geral GNU (de acordo com a qual o Linux®, por exemplo, é liberado), há outras licenças que fornecem um equilíbrio diferente entre preocupações comerciais e da comunidade.

A Open Software Initiative é uma organização de fins não lucrativos que define o que software livre explicitamente significa e certifica licenças que satisfazem seus critérios. O Eclipse é licenciado sob a Eclipse Public License (EPL) V1.0 aprovada pela OSI, que se destina a facilitar a adoção comercial do Eclipse enquanto faz justiça aos autores de software livre.

Os autores que criam plug-ins para Eclipse ou que o usam como base para um aplicativo de desenvolvimento de software são obrigados a liberar qualquer código ou modificação do Eclipse que usarem de acordo com os termos da EPL, mas podem licenciar suas próprias adições da maneira que desejarem. O código proprietário empacotado com o software do Eclipse não precisa estar licenciado como software livre e o código de origem não precisa ser disponibilizado.

Apesar de a maioria não usar o Eclipse para desenvolver plug-ins ou para criar novos produtos baseados no Eclipse, a natureza de software livre do Eclipse é importante, além do fato de que ela torna o Eclipse disponível sem nenhum custo [sem mencionar que uma licença "commercial-friendly" (que admite comercialização) significa que o plug-in pode ser comercializado]. O software livre encoraja inovação e fornece incentivos para desenvolvedores, mesmo desenvolvedores comerciais, para contribuir código de volta à base de código de origem comum de software livre. Há um número de razões para isso, mas talvez a mais essencial seja: quanto mais os desenvolvedores contribuírem para o projeto, mais valioso o projeto se tornará para todos eles. À medida que o projeto se tornar mais útil, mais desenvolvedores o usarão e uma comunidade se criará ao seu redor, como as formadas ao redor do Apache e do Linux. (Consulte a seção Recursos para obter mais informações sobre licenças.)


O que é o Eclipse?

O Eclipse é uma comunidade de código aberto cujos projetos são concentrados na criação de uma plataforma de desenvolvimento aberta composta de estruturas, ferramentas e tempos de execução extensíveis para desenvolvimento, implementação e gerenciamento de software por todo o ciclo de vida. A Eclipse Foundation é uma empresa sem fins lucrativos mantida pelos seus associados que hospeda os projetos do Eclipse e ajuda a cultivar uma comunidade de software livre e um ecossistema de produtos e serviços complementares.

O Projeto Eclipse foi originalmente criado pela IBM em novembro de 2001 e suportado por um consórcio de fornecedores de software. A Eclipse Foundation foi criada em janeiro de 2004 como uma organização sem fins lucrativos independente para atuar como organizadora da comunidade Eclipse. Foi criada para permitir o surgimento de uma comunidade ao redor do Eclipse independente de fornecedor, transparente e aberta. Hoje, a comunidade do Eclipse é composta por pessoas e organizações de uma seção transversal do segmento de mercado de software.

A Eclipse Foundation gerencia e dirige o desenvolvimento contínuo do Eclipse. A fundação fornece serviços para a comunidade, mas não emprega os desenvolvedores de software livre (denominados committers), que realmente trabalham nos projetos Eclipse. Os committers do Eclipse são normalmente empregados pelas organizações ou são desenvolvedores independentes que trabalham como voluntários em um projeto de software livre.

Agora que vimos um pouco da teoria, história e política por trás do Eclipse, vamos analisar o produto.


O Ambiente de Trabalho do Eclipse

Quando o Eclipse é aberto pela primeira vez, o usuário se depara com uma página de boas-vindas que se origina dentro do ambiente de trabalho (veja a Figura 1). Como usuário do Eclipse, você terá algumas opções para acessar a página de visão geral, o que eu recomendo (veja a Figura 2). Veja as novidades, explore algumas amostras ou assista a alguns tutoriais.

Figura 1. Página de Boas-Vindas do Eclipse
Página de Boas-Vindas do Eclipse
Figura 2. Página de Boas-Vindas do Eclipse
Página de Boas-Vindas do Eclipse

O ambiente de trabalho do Eclipse é composto por vários painéis conhecidos como visualizações, por exemplo, as visualizações do navegador e da estrutura de tópicos. Uma coleção dessas visualizações denomina-se perspectiva . Uma das perspectivas mais comum é a perspectiva Resource, que é um conjunto básico de visualizações para gerenciar projetos e visualizar e editar arquivos em um projeto.

Eu recomendo que os usuários mais novatos iniciem com a página Overview descrita na Figura 2 e aprendam sobre o Eclipse. A seção de configurações básicas do ambiente de trabalho contém um monte de informações que é um bom ponto de partida sobre as diversas partes do Eclipse e como elas interagem entre si. Gaste alguns minutos lendo o material, em seguida, vamos nos aprofundar diretamente nas ferramentas de desenvolvimento Java (JDT) no Eclipse. Não há meio melhor para aprender do que fazer isso na prática.

Para continuar este pequeno tour pelo Eclipse, criaremos um novo projeto Java. Selecione File > New > Java Project e insira Hello quando o nome do projeto for solicitado, e clique em Finish.

Em seguida, examinaremos a perspectiva Java (caso ainda não o tenha feito). Dependendo de como deseja gerenciar a sua tela, é possível mudar a perspectiva na janela atual selecionando Window > Open Perspective > Java ou abrindo uma nova janela selecionandoWindow > New Window e selecionando a nova perspectiva.

A perspectiva Java, como é de se esperar, possui um conjunto de visualizações que são mais bem adequadas para o desenvolvimento Java. Uma de tais visualizações inclui, como na visualização superior esquerda, uma hierarquia contendo diversos pacotes Java, classes, JARs e arquivos diversos. Essa visualização é denominada Package Explorer. Também observe que o menu principal foi expandido para incluir dois novos itens de menu: Source e Refactor.


As ferramentas de desenvolvimento Java (JDT)

Para testar o ambiente de desenvolvimento Java, criaremos e executaremos um aplicativo Hello World. Usando a perspectiva Java, clique com o botão direito do mouse na pasta de origem (src) do projeto Hello e selecione New > Class, como mostrado na Figura 3. Na caixa de diálogo que aparecer, digite Hello como o nome da classe. Em Which method stubs would you like to create? clique em public static void main(String[] args) e em Finish.

Figura 3. Criando uma nova classe na perspectiva Java
Criando uma nova classe na perspectiva Java

Isso criará um arquivo .java com uma classe Hello e um método main() vazio na área do editor, como mostrado na Figura 4. Inclua o código a seguir no método (observe que a declaração para i foi omitida deliberadamente).

Figura 4. A classe Hello no editor Java
A classe Hello no editor Java

Você observará alguns dos recursos do editor Eclipse à medida que digitar, incluindo verificação de sintaxe e conclusão de código. Além disso, ao abrir um parêntesis ou um sinal de aspas duplas, o Eclipse fornecerá o sinal de fechamento correspondente automaticamente e colocará o cursor entre o par de sinais (parêntesis ou aspas duplas).

Em outros casos, você poderá chamar a conclusão do código usando Ctrl+1. A conclusão de código fornece uma lista contextual de sugestões selecionáveis por teclado ou mouse. As sugestões podem ser uma lista de métodos específicos para um objeto específico ou um fragmento de código a ser expandido, com base em várias palavras-chave como for ouwhile.

A verificação de sintaxe depende da compilação incremental. À medida que você salva o seu código, ele é compilado no segundo plano e verificado quanto a erros de sintaxe. Por padrão, os erros de sintaxe são sublinhados em vermelho, e um ponto vermelho com um X branco aparece na margem esquerda. Outros erros são indicados com uma lâmpada incandescente na margem esquerda do editor; esses são problemas que talvez o editor corrija para você (um recurso denominado Quick Fix).

O código acima tem uma lâmpada incandescente ao lado da instrução for porque a declaração para i foi omitida. Clicar duas vezes na lâmpada incandescente abrirá uma lista de correções sugeridas. Nesse caso, ela oferecerá para criar um campo de classe i, uma variável local i, ou um parâmetro de método i; clicar em cada uma dessas sugestões exibirá o código que será gerado. A Figura 5 mostra a lista de sugestões e o código que ela sugere para uma variável local.

Figura 5. Sugestões da Quick Fix
Sugestões da Quick Fix

Clicar duas vezes na sugestão insere o código no local apropriado no código.

Assim que o código compile sem erros, será possível executar o programa selecionando Run no menu Eclipse. (Observe que não há nenhuma etapa de compilação separada, porque a compilação ocorre assim que o código é salvo. Se o seu código não tiver erros de sintaxe, ele está pronto para execução.) A caixa de diálogo Launch Configurations aparece, com os padrões apropriados; clique em Run na parte inferior, à direita. Um novo painel com guias aparece no painel inferior (o Console), exibindo a saída do programa, como mostrado abaixo.

Figura 6. Saída do programa
Saída do programa

Também é possível executar o programa no depurador Java. Primeiro, defina um ponto de interrupção em main() System.out.println() clicando duas vezes na margem cinza no lado esquerdo da visualização do editor, ao lado da chamada para System.out.println(). Um ponto azul aparecerá. No menu Run, selecione Debug. Como descrito, um diálogo Launch Configurations aparecerá. Selecione Run. A perspectiva mudará para a perspectiva Debug automaticamente, com um número de novas visualizações interessantes, como mostrado abaixo.

Figura 7. A perspectiva Debug
A perspectiva Debug

Observe a visualização Debug na parte superior esquerda da perspectiva. Essa visualização mostra a pilha de chamada e tem uma barra de ferramentas na barra de título que permite controlar a execução do programa, incluindo botões para continuar, suspender ou terminar o programa, depurar até a próxima instrução, ignorar a próxima instrução ou retornar de um método. O painel na parte superior, à direita, contém um número de visualizações com guias, incluindo Variables, Breakpoints, Expressions e Display. Como eu cliquei em Variables, podemos ver o valor atual de i.

É possível obter mais informações sobre qualquer uma das visualizações com ajuda contextual; clique no título da visualização e pressione F1.


Plug-ins adicionais

Em adição aos plug-ins como a JDT para edição, compilação e depuração de aplicativos, estão disponíveis plug-ins que suportam o processo de desenvolvimento completo desde modelagem, automação de construção, teste de unidade, teste de desempenho, controle de versão e gerenciamento de configuração.

O Eclipse vem com um plug-in para trabalhar com o Concurrent Versions System (CVS) de software livre para controle de origem. O plug-in Team se conecta a um servidor CVS e permite que os membros de uma equipe de desenvolvimento trabalhem em um conjunto de arquivos de código de origem sem conflitos com as alterações de outros membros. O controle de origem de dentro do Eclipse não será muito explorado aqui, porque requer a configuração de um servidor CVS, mas a capacidade de suportar uma equipe de desenvolvimento, não apenas desenvolvimento independente, é um recurso importante e integral do Eclipse.

Plug-ins suportados e hospedados pela Eclipse Foundation são encontrados no Web site do Eclipse. Para obter uma lista mais completa de plug-ins disponíveis, acesse Eclipse Plug-in Central, que atua como um índice para plug-ins.


Arquitetura da plataforma Eclipse

A plataforma Eclipse vem com um conjunto avançado de plug-ins (veja a Figura 8) que suporta projetos como JDT e PDE.

Figura 8. Arquitetura simplificada da plataforma Eclipse
Arquitetura simplificada da plataforma Eclipse

As partes em azul escuro significam os componentes que são a parte principal da Rich Client Platform (RCP) do Eclipse. O conceito de RCP em si está fora do escopo deste artigo, mas considere a RCP apenas como um conjunto de plug-ins que pessoas do Eclipse podem usar para desenvolver aplicativos, como o Lotus Notes® 8. As partes em azul claro são opcionais (mais recomendadas) para serem incluídas em aplicativos baseados em RCP. E as partes em cinza são totalmente opcionais. A plataforma é composta por vários componentes, dos quais abordarei alguns:

Tempo de execução
O tempo de execução é o código que define o modelo de plug-in do Eclipse, com base na especificação de OSGi e noção de extensão e pontos de extensão. O tempo de execução também fornece serviços adicionais como criação de log e simultaneidade.
JFace/SWT
O Standard Widget Toolkit (SWT) é um conjunto de widget que proporciona ao Eclipse sua aparência. O JFace é simplesmente uma camada no alto do SWT que fornece algumas classes Model-View-Controller (MVC) para simplificar o desenvolvimento de aplicativos gráficos.
Workbench
O ambiente de trabalho concede ao Eclipse sua personalidade. O conceito das visualizações, perspectivas e itens como editores são definidos nesse nível.
Ajuda (Assistência ao Usuário)
O componente do Eclipse permite que você forneça assistência a seus usuários. Isso pode ser feito por meio do sistema de ajuda, que permite aos usuários fazer procuras na documentação de ajuda ou usando folhas de dicas, que podem ser consideradas como listas de tarefas interativas para usuários finais.
Update
O componente de atualização do Eclipse fornece as facilidades para permitir a atualização dos seus aplicativos entre versões.
Team
O componente Team é composto por uma estrutura para permitir que fornecedores se conectem nos seus próprios sistemas de controle de versão. Uma implementação exemplar de provedor é o plug-in CVS fornecido fora da caixa do Eclipse.

Conclusão

De uma contribuição inicial do código da IBM, o Eclipse cresceu para um ecossistema de software livre completo em que mais de 100 empresas participam. Uma estrutura de software livre extensível, móvel, não é uma ideia nova, mas devido a seu design maduro, robusto e elegante, o Eclipse traz à tona toda uma nova dinâmica.

Bem-vindo ao ecossistema do Eclipse. Nosso objetivo era uma rápida introdução da plataforma Eclipse. Isso foi obtido com algum texto de introdução acompanhado de um exercício prático simples. Aproveite o conhecimento adquirido com a leitura deste artigo e torne-se um membro ativo do ecossistema do Eclipse.

Recursos

Aprender

Obter produtos e tecnologias

Discutir

  • O Newsgroup da Plataforma Eclipse deverá ser sua primeira parada para discussão das questões relacionadas ao Eclipse. (A seleção deste link ativará seu aplicativo leitor de notícias Usenet padrão e abrirá eclipse.platform.)
  • O Newsgroup do Eclipse tem muitos recursos para pessoas interessadas no uso e na extensão do Eclipse.
  • Participe dos blogs do developerWorks e participe da comunidade do developerWorks.

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=788813
ArticleTitle=Introdução à Plataforma Eclipse
publish-date=02062012