1 / 35

Eclipse Extensibility

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).

Download Presentation

Eclipse Extensibility

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. O QueéoEclipse ? • Plataforma Open Source • Baseadaem um sistema de plug-ins • Doadaparao Eclipse Foundation pela IBM em 2004 • Inicialmente IDE Java • Multiplataforma

  3. Eclipse Public License (EPL)

  4. Desenvolvimento do Eclipse • Arquivosfontes de Java: 9.689 • Linhas de códigoem Java: 1.903.219 • JUnitsusadosautomaticamenteemcada Build: 21.332 • Instânciasdapalavra “foo”: 224 • Número de rosquinhascomidas: 1120

  5. Arquitetura

  6. 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

  7. RCP • RCP (Rich Client Plataform) • Plataformaparaconstruiraplicações de Clientes com umaricafuncionalidade • Open Source/Free • Iniciadaem 2003 (desdeo Eclipse 2.1)

  8. 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

  9. Dentro do RCP • User Experience/ Assistence • Introduçãoaoplugin • “Bemvindoaonossoproduto” • Dicas • “Mostre me comofazer” • Ajuda do Eclipse • Baseadaem XML/ XHTML

  10. Dentro do RCP • Disponibilização/ Updates • Disponibilização • Suporta JNLP (webstart) • Update de programas • Update de UI • Update de Funcionalidades

  11. Arquitetura RCP

  12. Platformarchitecture

  13. PlatformRuntime • Descobre dinamicamente os plug-ins instalados • Plug-inssão ativados após ação do usuário

  14. OSGi • Open Service Gateway initiative • Pequenacamada runtime • Procurareativaplugins • Maiorcompatibilidadeeportabilidade • Hardware • SystemasOperacionais

  15. JDT (Java Developmenttooling) • Utilizam extensionpoints. Frameworks • Conjunto de plug-ins • Contribuições no desenvolvimento de programas • Escrita • Compilação • Teste • Debug

  16. PDE (Plug-indevelopmentenvironment) • Possui um conjunto de ferramentas para o desenvolvimento de plug-ins • New Project Creation Wizards • Import wizards • Export wizards • Views • Conversiontools • ...

  17. SWT • SWT (Standard Widget Toolkit) • IBM desenvolveuoVisualAge • IDE desenvolvidaem Smalltalk • Virou um projetoOpenSource • Uma nova GUI Toolkit • Look and Feel Nativo • Performance Nativa

  18. JFace • Framework orientado a objeto • SWT Widgets

  19. Workbench UI • Implementam o “cockpit” do usuário • Define extensionpointspara UI components • Menu andtool bar actions • Draganddrop • Dialogs • Viewers • ...

  20. Workbench

  21. 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 extensionpoints • Cada plug-in é definido em seu próprio arquivo plugin.xml e se encontra em seu próprio sub-diretório ou jar

  22. Plugin.xml

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

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

  25. HelloWorld – Plug-inContent • Digite o id, versão e nome do plug-in

  26. Hello World - Templates • Selecione o templatePlug-inwith a viewe clique next

  27. HelloWorld – MainViewSettings • Mude os nomes gerados automaticamente e clique em Finish

  28. Código simplificado • Substitua o código da classe do plugin pelo código abaixo package com.example.helloworld; importorg.eclipse.swt.widgets.Composite; importorg.eclipse.swt.widgets.Label; importorg.eclipse.swt.SWT; importorg.eclipse.ui.part.ViewPart; publicclassHelloWorldViewextendsViewPart { Labellabel; publicHelloWorldView() { } publicvoidcreatePartControl(Compositeparent) { label = newLabel(parent, SWT.WRAP); label.setText("Hello World"); } publicvoidsetFocus() { // set focus to mywidget. For a label, thisdoesn't // makemuchsense, but for more complex sets ofwidgets // youwould decide whichonegetsthefocus. } }

  29. plugin.xml gerado Dê dois cliques em plugin.xml no Package Explorer e selecione a aba plugin.xml <?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.2"?> <plugin> <extensionpoint="org.eclipse.ui.views"> -> única extensão utilizada <category name="HelloCategory“ id="com.example.helloworld"> </category> <view name="HelloView" icon="icons/sample.gif" category="com.example.helloworld" class="com.example.helloworld.views.HelloWorldView" id="com.example.helloworld.views.HelloWorldView"> </view> </extension> </plugin>

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

  31. Rodando o plug-in • Na aba overview clique em Launchan Eclipse application ou rode a aplicação normalmente como eclipse application

  32. Referências • http://pesquompile.wikidot.com/eclipse-n • http://www.slideshare.net/vijaykiran/eclipse-rcp • http://www.slideshare.net/joomlatools/joomladay-nl-2008-debugging-joomla-in-eclipse-338480 • http://www.slideshare.net/ciukes/introduction-to-the-eclipse-platform-141827 • http://www.slideshare.net/neerajbhusare/eclipse-modeling-framework • http://www.slideshare.net/fbahr/introduction-to-the-graphical-modeling-framework-gmf • http://www.cjug.org/presentations/2005/Sep01west/eclipse_rcp.pdf • http://wiki.eclipse.org/index.php/Rich_Client_Platform • http://wiki.eclipse.org/RCP_FAQ • Eclipse HELP

  33. Dúvidas

More Related