Eclipse Extensibility João Paulo –jpsm Mário Barbosa - mbaj.

Slides:



Advertisements
Apresentações semelhantes
Creating an Eclipse-based IDE for the D programming language
Advertisements

Desenvolvimento de Plug-ins Orientado a Testes
Programação em Java Prof. Maurício Braga
Linguagem C Marco Antonio – Julho/2009. Instalação A IDE que será utilizada é o Eclipse, com plugin para C/C++. Descompacte no diretório.
Conhecendo o VS2008: Windows Forms X Web Forms X Web Services
Iniciando na plataforma Eclipse
Creating IDEs for the Eclipse Platform Survey de Introdução à Investigação.
Henrique Prado Sousa Oryx Henrique Prado Sousa Manoel LES/PUC-Rio.
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena
1.
1o Seminário do Projeto VAS – Verificação de Arquiteturas de Software VAS - Verificação de Arquiteturas de Software CBDT – CBabel Development Tools Integração.
OLÁ IPHONE! Entendendo o básico do xcode por Glauco Primo.
April 05 Prof. Ismael H. F. Santos - 1 Modulo I- Introdução a Plataforma NetBeans Prof. Ismael H F Santos.
Professor Ismael H F Santos –
April 05 Prof. Ismael H. F. Santos - 1 Modulo II CheckStyle Professor Ismael H F Santos –
April 05 Prof. Ismael H. F. Santos - 1 Modulo II Findbugs Professor Ismael H F Santos –
Modulo I- Introdução a Plataforma Eclipse
ZK RIA com ZK Framework.
Introdução a Linguagem JAVA
Templates/ Modelos Templates são documentos que podem ser usados como um modelo para outras páginas com o mesmo lay-out, ou seja, é uma espécie de frame.
Uso do Eclipse/SourceForge Paradigmas de Linguagem de Programação
Desenvolvimento de Aplicações Java para Web
Técnicas de Programação I
Seminários Avançados 3 Conceitos Java EE Servidor de aplicação Tomcat
Linguagem de Programação JAVA
O Portal do Estudante de Computação
Desenvolvendo para a web com Grails
Selenium Componentes: Fábio Gomes Claver Pari Eni Conde
Paradigmas da Programação – Semestre 2 – Aula 2 Introdução ao VS.Net Professores: Fábio de Paula Santos Eduardo Mantovani.
Ferramenta para Linhas de Produtos - FLiP Vilmar Nepomuceno – Andréa Menezes –
Linguagem de Programação JAVA
Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse
Banco de Dados Geográficos e WebMapping - Instalação do OMT-G Design
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
XIV Jornada de Cursos .NET com C# Antônio Júnior Bruno Inojosa.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Tutorial de Utilização.
Programação I Laboratório I
Implementação MVC Pedro Antonino.
Laboratório I Mateus Raeder Material baseado nos originais da Profa. Denise Bandeira.
MINI CURSO J2ME Vinícius Maran SEMINÁRIO REGIONAL DE INFORMÁTICA 2008.
+ Java Básico Aula 1 por Flávio Juvenal. + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++
@2011 Éfren L. Souza1 Plataforma Android Uma Visão Geral para Desenvolvedores.
Estendendo o Eclipse Bruno Costa Bourbon Jarbas Jácome de Oliveira Júnior {bcb,
Introdução JAVA Faculdade Mauricio de Nassau
Ferramentas de Manipulação de Ontologias (Protégé)
WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer.
Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte.
JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software Outubro/2005.
PROGRAMAÇÃO DE DISPOSITIVO ANDROID Arte Digital – – ECO/UFRJ.
April 05 Prof. Ismael H. F. Santos - 1 Modulo II Clirr Professor Ismael H F Santos –
Disciplina: Ordenação e Pesquisa Prof.(a): Miriam Monteiro Equipe: Mariane Oliveira Dias Palloma Dikassia Simone Martins Werley Batista.
Grupo: Gustavo de Castro Costa Samuel Furtado e Silva Wesley Ferreira.
1 Uso do Eclipse/CVS na cadeira Paradigmas de Linguagem de Programação Alunos: Angelo Ribeiro (arnpr) Eduardo Tavares (eagt) Euclides Neto (enan) Prof.:
Programação Prof.: Bruno Rafael de Oliveira Rodrigues.
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas.
Introdução a Programação Orientada a Objetos
ZK RIA com ZK Framework.
1 Baseado em whitepapers/eclipse-overview.pdf Nelson Lago IME/USP 04/2003 A Plataforma Eclipse.
Treinamento expresso java web Luiz Carlos d´Oleron.
CORBA. Configurando IDEs –MICO No WindowsNo Windows –Visual Studio 2005 No LinuxNo Linux –Eclipse CDT.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Eclipse Hello World.
Qualidade, Processos e Gestão de Software
Eclipse RCP Felype Santiago. Rich Client Um RCP é um software que consiste dos seguintes componentes: –Core, gerenciador do ciclo de vida; –Um framework.
JBuilder Daniel Almeida, Dayene Mendes, Gustavo Ribeiro, Thiago Dias.
Google Web Toolkit Utilizando o GWT para Desenvolvimento WEB.
Desenvolvimento Automático de Sistemas Coordenador: Prof. Alberto Silva João Saraiva, Nº Apresentação do TFC.
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.
Programação Gráfica em Java Edição visual - Jigloo Aula 10.
Subversion- Utilização com Eclipse Utilização do Subversion com o Eclipse via plugin Subclipse Atualizado em
Transcrição da apresentação:

Eclipse Extensibility João Paulo –jpsm Mário Barbosa - mbaj

O Que é o Eclipse ? Plataforma Open Source Baseada em um sistema de plug-ins Doada para o Eclipse Foundation pela IBM em 2004 Inicialmente IDE Java Multiplataforma

Eclipse Public License (EPL)

Desenvolvimento do Eclipse Arquivos fontes de Java: Linhas de código em Java: JUnits usados automaticamente em cada Build: Instâncias da palavra “foo”: 224 Número de rosquinhas comidas: 1120

Arquitetura

IDE´s do Eclipse JDT (Java Development Tooling) PDE (Plug-in Development Environment) CDT (C/C++ Development Tools) AJDT (AspectJ Development Tools) COBOL VE (Visual Editor) WTP (Web Tools Platform) WST(Web Standard Tools) JST (J2EE Standard Tools) Pollinate WSVT ( Web Service Validation Tools) Hyades OMONDO

RCP RCP (Rich Client Plataform) ▫Plataforma para construir aplicações de Clientes com uma rica funcionalidade Open Source/Free Iniciada em 2003 (desde o Eclipse 2.1)

Dentro do RCP Runtime Components ▫OSGi – Open System Gateway initiative  Aplicações/Bundles ▫Extensões UI Components ▫SWT – Standard Widget Toolkit ▫Jface – Framework de abstração de UI ▫Workbench  View/ Editors/ Actions/ Perspective … ▫Text/ Form/ GEM

Dentro do RCP User Experience/ Assistence ▫Introdução ao plugin  “Bem vindo ao nosso produto” ▫Dicas  “Mostre me como fazer” ▫Ajuda do Eclipse  Baseada em XML/ XHTML

Dentro do RCP Disponibilização/ Updates ▫Disponibilização  Suporta JNLP (webstart) ▫Update de programas ▫Update de UI ▫Update de Funcionalidades

Arquitetura RCP

Platform architecture

Platform Runtime Descobre dinamicamente os plug-ins instalados Plug-ins são ativados após ação do usuário

OSGi Open Service Gateway initiative Pequena camada runtime Procurar e ativa plugins Maior compatibilidade e portabilidade ▫Hardware ▫Systemas Operacionais

JDT (Java Development tooling) Utilizam extension points. Frameworks ▫Conjunto de plug-ins Contribuições no desenvolvimento de programas ▫Escrita ▫Compilação ▫Teste ▫Debug

PDE (Plug-in development environment) Possui um conjunto de ferramentas para o desenvolvimento de plug-ins ▫New Project Creation Wizards ▫Import wizards ▫Export wizards ▫Views ▫Conversion tools ▫...

SWT SWT (Standard Widget Toolkit) IBM desenvolveu o VisualAge ▫IDE desenvolvida em Smalltalk ▫Virou um projeto OpenSource Uma nova GUI Toolkit ▫Look and Feel Nativo ▫Performance Nativa

JFace Framework orientado a objeto SWT Widgets

Workbench UI Implementam o “cockpit” do usuário Define extension points para UI components ▫Menu and tool bar actions ▫Drag and drop ▫Dialogs ▫Viewers ▫...

Workbench

Plug-ins são componentes Cada plug-in representa um conjunto de funcionalidades que podem ou não ser extendidas de outros plug-ins Possuem um ou mais extension points Cada plug-in é definido em seu próprio arquivo plugin.xml e se encontra em seu próprio sub- diretório ou jar

Plugin.xml

Desenvolvendo um Plug-in Decidir como ele será integrado a plataforma Identificar os extensions-points a serem utilizados Implementar os extension-points de acordo com sua especificação Prover um manifest file (manifest.mf) e um plugin-manifest (plugin.xml)

HelloWorld – Plug in Project Selecione File -> New Project Escolha a opção Plug-in project Insira o nome do projeto

HelloWorld – Plug-in Content Digite o id, versão e nome do plug-in

Hello World - Templates Selecione o template Plug-in with a view e clique next

HelloWorld – Main View Settings Mude os nomes gerados automaticamente e clique em Finish

Código simplificado package com.example.helloworld; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.SWT; import org.eclipse.ui.part.ViewPart; public class HelloWorldView extends ViewPart { Label label; public HelloWorldView() { } public void createPartControl(Composite parent) { label = new Label(parent, SWT.WRAP); label.setText("Hello World"); } public void setFocus() { // set focus to my widget. For a label, this doesn't // make much sense, but for more complex sets of widgets // you would decide which one gets the focus. } Substitua o código da classe do plugin pelo código abaixo

plugin.xml gerado -> única extensão utilizada <category name="Hello Category“ id="com.example.helloworld"> <view name="Hello View" icon="icons/sample.gif" category="com.example.helloworld" class="com.example.helloworld.views.HelloWorldView" id="com.example.helloworld.views.HelloWorldView"> Dê dois cliques em plugin.xml no Package Explorer e selecione a aba plugin.xml

Manifest.mf gerado Possui meta dados do plug-in (clique na aba manifest.mf para visualizá-lo)

Rodando o plug-in Na aba overview clique em Launch an Eclipse application ou rode a aplicação normalmente como eclipse application

Referências debugging-joomla-in-eclipse platform http:// platform frameworkhttp:// framework modeling-framework-gmfhttp:// modeling-framework-gmf dfhttp:// df Eclipse HELP

Dúvidas