• Nenhum resultado encontrado

O Eclipse e uma plataforma designada para a construc~ao de ambientes de desenvol- vimento integrados (do ingl^es Integrated Development Environment - IDE) escrita na linguagem Java e distribuda na forma de codigo aberto. No entanto, esta plataforma e uma composic~ao de componentes; ao utilizar um sub-conjunto destes componentes podem ser criadas aplicac~oes diversas[CR06].

Desta forma, foram construdas varias ferramentas de desenvolvimento utilizando o Eclipse. Ao adicionar os componentes de desenvolvimento Java (chamado JDT - Java Development Tools), o Eclipse se transforma em um ambiente de desenvolvimento para

5.2 a plataforma eclipse 69 esta linguagem. Se adicionarmos os componentes de desenvolvimento C/C++ (CDT - C/C++ Development Tooling), o Eclipse ira se transformar em um IDE para desenvol- vimento em C/C++. Se quisermos um IDE com capacidade para desenvolvimento em Java e C++, basta adicionarmos os componentes do CDT e JDT em conjunto.

Com isto, e possvel perceber que a extensibilidade e a possibilidade de integrac~ao de varias ferramentas em um unico ambiente s~ao as pricipais caractersticas do Eclipse. Abaixo s~ao descritos os principais componentes que fazem parte da estrutura base do Eclipse:

 Platform Runtime: e o nucleo do Eclipse e tem a func~ao de inicializar o ambiente e carregar todos os outros componentes.

 Workspace: componente que representa o diretorio de trabalho no sistema de arquivos e contem todos os projetos do usuario.

 Workbench: E a interface gra ca, e representa a janela do Eclipse. Contem todos os menus, barras de ferramentas, esquemas de visualizac~oes e editores.

 Team: componente responsavel por integrar o Eclipse com uma ferramenta de controle de vers~ao.

 Help: responsavel por apresentar a documentac~ao do Eclipse e de todos os outros componentes.

Figura 5.1. Arquitetura da plataforma Eclipse

A Figura 5.1 ilustra esta estrutura, destacando os principais componentes e API's da arquitetura do Eclipse. Tambem pode-se perceber a possibilidade de extens~ao do Eclipse ilustrada pelos elementos que est~ao plugados na estutura base.

Um dos pontos principais e o mais visvel ao usuario e o workbench. Assim, iremos descrever abaixo os principais elementos que comp~oem o Workbench do Eclipse.

5.2 a plataforma eclipse 70  View: corresponde a generalizac~ao de uma area delimitada dentro da janela do Eclipse. Cada view pode representar diversos elementos, como editores, arvores de diretorio, itens de con gurac~ao, entre outros.

 Editor: e uma view associada a um determinado formato de arquivo e e con gurado para editar este formato. Geralmente o editor apresenta o arquivo com uma serie de controles associados que permitem uma melhor visualizac~ao e manipulac~ao dos dados desse arquivo.

 Perspectiva: uma perspectiva representa um conjunto de views e sua organizac~ao dentro do workbench. Por exemplo, a perspectiva de edic~ao de codigo normal- mente apresenta um editor para a linguagem correspondente, uma view com uma arvore de diretorios, mostrando os arquivos que fazem parte do projeto e uma view com a estrutura logica (classes, metodos, atributos); enquanto uma perspectiva de depurac~ao para esta mesma linguagem deve possuir outras views como a sada do console, valores das variaveis que est~ao sendo analisadas, lista dos breakpoints, entre outras.

 Wizard: um wizard e um conjunto de passos (telas) que ir~ao guiar ou ajudar o usuario a realizar determinada atividade. Os wizards s~ao bastante comuns na criac~ao dos projetos, mas podem aparecer em outras situac~oes nas quais o usuario deve executar um conjunto de nido de passos, como a criac~ao de uma nova classe no projeto.

A customizac~ao do Eclipse para servir como ferramenta de desenvolvimento em uma determinada linguagem signi ca estender os elementos acima para realizar as func~oes necessarias ao desenvolvimento na linguagem espec ca. A seguir, sera descrito o funci- onamento da plataforma, como tambem a din^amica de integrac~ao dos componentes no Eclipse e o mecanismo para extens~ao destes componentes.

5.2.1 A arquitetura de plug-ins do Eclipse

A Plataforma Eclipse e composta por um nucleo, chamado de Platform Runtime, e di- versos modulos, chamados plug-ins. O nucleo da plataforma e responsavel por identi car e carregar os plug-ins na inicializac~ao, enquanto os plug-ins implementam efetivamente as funcionalidades desejadas.

Todas as outras funcionalidades do Eclipse (que n~ao a do nucleo) s~ao descritas como plug-ins e features (conjunto de plug-ins). Um plug-in e a estrutura basica da arquitetura do Eclipse. Os relacionamentos de depend^encias e a comunicac~ao entre plug-ins s~ao descritas atraves de pontos de extens~ao. Cada plug-in declara sua lista de plug-ins que ele depende (estende) e os pontos que ele permite que outros plug-ins estendam. Este relacionamento pode ser visto na Figura 5.2.

Existe um arquivo XML (plugin.xml) que descreve e publica todas as depend^encias e pontos de extens~ao de um plug-in. Cada ponto de extens~ao declarado no arquivo plugin.xml deve ter uma interface1 associada que possui todos os metodos necessarios

5.2 a plataforma eclipse 71

Figura 5.2. Arquitetura dos plug-ins do Eclipse

para este ponto de extens~ao. Por exemplo, se o plug-in B estende o plug-ins A, ele tem que implementar a interface declarada por A e o arquivo XML deve ter a informac~ao que B vai ser usado quando A precisar de uma classe que implemente esta interface.

Com este mecanismo, e possvel desenvolver plug-ins e con gurar os plug-ins existentes para realizar as funcionalidades desejadas. E desta forma que o Eclipse se transforma em IDE para Java, C++ e varias outras linguagens de programac~ao. A seguir, sera apresentado o plug-in CDT (C/C++ Development Tooling) do Eclipse. Este plug-ins implementa todas as funcionalidades necessarias para transformar o Eclipse em um IDE para desenvolvimento em C/C++. Por este motivo, o CDT tambem foi utilizado como a base para o desenvolvimento do Gluon.

5.2.2 CDT - Eclipse C/C++ Development Tooling

O CDT e um projeto de codigo aberto (licenciado sobre a licenca CPL2 da IBM) e

implementado completamente na linguagem Java como um conjunto de plug-ins para o Eclipse.

Estes plug-ins adicionam perspectivas no Workbench do Eclipse que prov^e o suporte ao desenvolvimento em C/C++ atraves de um conjunto de views, wizards e componentes para edic~ao e depurac~ao do codigo. Embora o CDT seja focado no desenvolvimento de software em C/C++ para o sistema operacional Linux, ele funciona muito bem em todos os ambientes onde existam as ferramentas de compilac~ao e depurac~ao GNU disponveis, como: Win32 (Windows 95/98/Me/NT/2000/XP), QNX Neutrino e Solaris.

Cada plug-in do CDT implementa uma determinada funcionalidade requerida pelo processo de desenvolvimento e e administrado separadamente, possuindo seus proprios desenvolvedores, listas de discuss~ao e ferramentas para rastreamento de bugs. Abaixo s~ao descritos os principais plug-ins do CDT:

 CDT Feature Eclipse: representa a feature CDT para o Eclipse. E o ponto de entrada do CDT dentro do Eclipse e realiza a ligac~ao entre todos os outros plug-ins do CDT.

 CDT Core: e o nucleo do CDT, provendo as funcionalidades basicas como os 2Common Public License - disponvel em http://www.eclipse.org/legal/cpl-v10.html

5.3 gluon 72

Documentos relacionados