1 Baseado em whitepapers/eclipse-overview.pdf Nelson Lago IME/USP 04/2003 A Plataforma Eclipse.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Engenharia de Software
Exemplo dos Internamentos
Creating IDEs for the Eclipse Platform Survey de Introdução à Investigação.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
FACULDADE DOS GUARARAPES
1 Builder Padrões de projeto Projeto de Sistemas de Software Aleksander Bruno Gadelha Setembro, 2008.
Padrão Abstract Factory
RV: Objetos e Implementação Prof. Dr. Annibal Hetem Jr.
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Introdução a diagrama de classes e UML
Introdução a Linguagem JAVA
Interfaces gráficas e Interfaces Web
WebWork e JSP Keven andrade
Documentando con Javadoc
RUP: Fluxo de Análise e Projeto
Configuração de manutenção
Linguagem de Programação JAVA
PÁginas Dinâmicas Programação Web.
Introdução ao Desenvolvimento Web
Singleton e Adapter Professor: Nazareno Andrade
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
Rodrigo Cristiano Silva
A autoria - II.
Instalação  A tela abaixo é a primeira a aparecer durante a instalação do Caché 5. O diretório selecionado será usado para salvar alguns arquivos usados.
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
Professor: Márcio Amador
7 - Criação de Páginas Web
Programação Orientada à Objetos
Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009.
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
A abordagem de banco de dados para gerenciamento de dados
Implementação MVC Pedro Antonino.
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
POO Interface Gráfica - Swing
Laboratório de Programação
7 - Criação de Páginas Web
SQLite Banco de Dados II.
Tópicos Especiais J2EE Prof. Cristina Valadares Curso de Ciência da Computação.
Eclipse Extensibility João Paulo –jpsm Mário Barbosa - mbaj.
Profª Angela Tissi Tracierra. É uma arquitetura de rede, onde existem dois módulos básicos na rede: o Servidor e os Clientes.
Especificação de Requisitos de Software
Padrões de Projeto Abstract Factory.
Programação Prof.: Bruno Rafael de Oliveira Rodrigues.
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas.
Programação Gráfica em Java Introdução
R System and JavaBayes André Hideaki Saheki Escola Politécnica - Universidade de São Paulo Laboratório de Tomada de Decisão.
Objetos Distribuídos Frameworks Orientados a Objetos.
Programação para internet através de Applet Java
Linguagem Técnica II SCM Software Configuration Management Aula 03 Prof. Renato Novais
Módulo II Capítulo 1: Orientação a Objetos
Equipe Danilo Miguel Elias Lacerda Felipe Riguete Henderson Garcia
Introdução a Arquitetura, HTML e CSS
Universidade Federal de Sergipe Departamento de Sistemas de Informação Bruno Cruz Jessica Rodrigo Aragão – ASP.NET MVC 3.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Centro Politécnico – Universidade Católica de Pelotas (UCPel) Pelotas – RS – Brasil REDES II Evandro Brasil Fonseca, Marlos Martins.
ALUNO: RONI FABIO BANASZEWSKI Model-View-Controller.
JFC e Swing Thiago Medeiros Barros 18/08/2011. JFC Java Foundation Classes é um conjunto de componentes e serviços que simplificam o desenvolvimento e.
Síntese do Negócio ONTOWEB. Ontoweb – Nova Geração de Ferramenta de Busca Possui comportamento inteligente que auxilia o usuário a organizar e compartilhar.
Transcrição da apresentação:

1 Baseado em whitepapers/eclipse-overview.pdf Nelson Lago IME/USP 04/2003 A Plataforma Eclipse

1 O que é o Eclipse ● Arcabouço para o desenvolvimento de IDEs – Java (parte do pacote padrão) – C++ – Outras linguagens – Aplicações web – EJB – Etc.!

1 Visão geral ● Objetivos ● Plugins, extensões e inventários ● Projetos e controle de versões ● Pacotes de GUI ● A bancada e perspectivas ● Ajuda integrada ● O ambiente de desenvolvimento Java

1 Objetivos ● Estensível ● Aberto a quaisquer colaboradores ● Suporte a quaisquer tipos de dados (HTML,JPG, XML, código-fonte etc.) ● Integração entre as partes, mesmo que oriundas de fornecedores diferentes ● Suporte a funcionamento com e sem GUI ● Portabilidade

1 Plugins ● Unidade mínima de funcionalidade ● Escrito em Java, mas podendo também incluir imagens, arquivos de ajuda, bibliotecas etc. ● Uma aplicação complexa pode ser baseada em vários plugins; a maior parte do próprio Eclipse é implementada por plugins

1 Plugins e extensões ● Um plugin declara pontos de extensão e extensões para pontos de extensão de outros plugins – exemplo: o plugin que implementa a bancada (interface principal com o usuário) declara um ponto de extensão para as preferências do usuário ● Um ponto de extensão pode ter uma interface específica; plugins que estendem esse ponto de extensão implementam essa interface

1 Inventários ● Plugins explicitam seus pontos de extensão, extensões e relações com outros plugins através de um arquivo de inventário (manifest) no formato XML ● Com base nos arquivos de inventário, o sistema cria uma listagem dos plugins disponíveis e suas interconexões durante a inicialização ● Os plugins só são ativados quando efetivamente solicitados

1 projetos ● Um projeto é um conjunto de arquivos em um diretório ● Um projeto tem uma espécie (nature), à qual corresponde uma configuração do ambiente ● Projetos, arquivos e diretórios que os compõem são encarados como “recursos” ● Pode-se criar marcadores com listas de tarefas, pontos de parada de depuração etc.; plugins podem definir tipos de marcadores

1 Alterações de recursos ● Mudanças nos recursos que compõem um projeto são descritas por uma árvore de alterações de recursos (resource deltas) ● Alterações em lote geram uma única árvore ● Plugins podem ser informados de mudanças em algum recurso – coerência de operação e de interface com o usuário entre plugins – construção parcial (incremental build)

1 Pacotes para GUIs ● Pacotes portáteis X pacotes do sistema ● Em Java: – AWT (Abstract Window Toolkit) – Swing – SWT (Standard Widget Toolkit) – JFace

1 SWT ● Interface independente de plataforma; implementação em Java + JNI ● Usa biblioteca padrão do sistema; quando isso não é possível, emulação ● Interface de programação portátil + interface de usuário consistente com o sistema ● Permite extensões não-portáteis, como ActiveX em Windows) ● Pode ser usada em outros projetos

1 JFace ● Conjunto de classes para tarefas comuns de GUI, como assistentes, preferências, diálogos etc. ● Ações (actions): definição abstrata de um comando a ser incluído na interface sem definir onde (nome, ícone, dica etc.) ● Visores (viewers): adaptadores que implementam o padrão observer para alguns elementos SWT, como listas, árvores e tabelas

1

1

1 Bancada (workbench) ● Composta de visores e editores; diferentes perspectivas correspondem a diferentes organizações de visores e editores ● Editores acrescentam ações aos menus e barras de ferramentas da bancada ● Visores fornecem diversas informações ao usuário sobre os recursos que estão sendo editados ● visores, editores, perspectivas e ações podem ser acrescentados ao sistema por plugins

1 Ajuda ● Plugins podem acrescentar documentação ao sistema ● Documentos em HTML ● Estrutura das relações entre documentos em XML ● O plugin define onde os tópicos de ajuda devem ser inseridos na árvore de documentação ● Servidor HTTP embutido no Eclipse

1 JDT (Java Development Tooling) ● Classes etc. apresentados em diretórios correspondentes a pacotes ● Navegação em termos de elementos específicos da linguagem, como pacotes, tipos, métodos, atributos etc. ● Editor com características otimizadas ● Visor de estrutura do arquivo ● Funções para refatoração ● Depurador integrado

1 Implementação ● Interface de usuário e infra-estrutura separados ● Define a espécie “projeto Java”, o construtor parcial Java e marcadores para depuração ● Define a perspectiva Java, visores de pacotes e de hierarquia de tipos, assistentes para a criação de classes, pacotes, interfaces etc. ● Define preferências, como classpath, opções de formatação do editor Java etc.

1 Implementação ● Construtor parcial usa uma árvore de alterações de recursos juntamente com um grafo de dependências armazenado persistentemente para reconstruções otimizadas ● Sistema mantém uma árvore de elementos Java para navegação pelos editores e visores; essa árvore é construída e carregada em memória em partes, em função da necessidade