SlideShare uma empresa Scribd logo
1 de 23
eRCP – Eclipse Rich Client Platform




    Hugo Corbucci - hugo@agilbits.com.br
  Mariana V. Bravo - marivb@agilbits.com.br
   Alexandre Freire - freire@agilbits.com.br
Essa apresentação
O que é eRCP?
Aplicação
Produto
Plugin com view
Ponto de extensão
Plugin de extensão
Referências e Resumo
O que é o Eclipse RCP?
         Eclipse Rich Client Platform
Sistema baseado em plug-ins
O que é o Eclipse RCP?
          Eclipse Rich Client Platform
Sistema baseado em plugins
Interface gráfica nativa graças ao SWT
O que é o Eclipse RCP?
          Eclipse Rich Client Platform
Sistema baseado em plugins
Interface gráfica nativa graças ao SWT
Framework para aplicações desktop em Java
O que é o Eclipse RCP?
          Eclipse Rich Client Platform
Sistema baseado em plugins
Interface gráfica nativa graças ao SWT
Framework para aplicações desktop em Java
Software Livre fortemente apoiado pela IBM
O que é o Eclipse RCP?
          Eclipse Rich Client Platform
Sistema baseado em plugins
Interface gráfica nativa graças ao SWT
Framework para aplicações desktop em Java
Software Livre fortemente apoiado pela IBM
Base para uma das melhores IDEs Java
Um exemplo minimalista




   A aplicação mais simples
 com RCP que se possa fazer
Para distribuir o exemplo




 Criando um “produto” (product)
O que era tudo isso?
Plugins
Framework de aplicação com plugins
   org.eclipse.equinox.app
   org.eclipse.equinox.common
   org.eclipse.equinox.launcher
   org.eclipse.equinox.launcher.carbon.macosx
   org.eclipse.equinox.preferences
   org.eclipse.equinox.registry
   org.eclipse.osgi
O que era tudo isso?
Plugins
Framework de aplicação com plugins

Infra-estrutura básica do Eclipse
O que era tudo isso?
Plugins
Framework de aplicação com plugins

Infra-estrutura básica do Eclipse

 Interface gráfica
org.eclipse.jface
org.eclipse.jface.databinding
org.eclipse.swt
org.eclipse.swt.carbon.macosx
org.eclipse.ui
org.eclipse.ui.carbon
org.eclipse.ui.workbench
O que era tudo isso?
Plugins
Framework de aplicação com plugins

Infra-estrutura básica do Eclipse

Interface gráfica

Outros
  org.eclipse.help
  com.ibm.icu
O que era tudo isso?
Plugins
Framework de aplicação com plugins
Infra-estrutura básica do Eclipse
Interface gráfica
Outros

Configurações
Configurações de cada plugin
config.ini
O que era tudo isso?
Plugins
Framework de aplicação com plugins
Infra-estrutura básica do Eclipse
Interface gráfica
Outros

Configurações
Configurações do plugins
config.ini

Executável e branding
Mostra a imagem no início, lança a JVM e carrega os
 arquivos plugin.xml
Descrição de um plugin
build.properties
O que deve ser empacotado para execução
O que deve ser empacotado para versão com código fonte


META-INF/MANIFEST.MF
Meta-informações sobre o plugin
Lista de dependências


plugin.xml
Descreve como o plug-in contribui para a aplicação
Adicionando uma view




  Contribuindo para a aplicação
com uma interface de visualização
O que é um ponto de extensão?
Um receptor na aplicação para receber
 contribuições de outros plugins.


Permite que um plugin use código que ainda não
 existe determinando uma interface e meta-
 informações.


O eRCP obtém essas informações no bootstrap.
Adicionando um ponto de extensão




     Um exemplo simples para a view
O que é uma extensão?
É um conector para um determinado ponto de
 extensão.


Ele deve seguir as regras impostas pelo ponto e
  será chamado conforme a aplicação precisar.
Adicionando uma extensão




       Continuando
Resumo
Fácil criar uma aplicação desktop robusta em
 Java


Flexibilidade através de plug-ins e pontos de
  extensão


Muita ajuda da comunidade do Eclipse
Recursos
http://www.eclipse.org/rcp - Muitas referências


http://help.eclipse.org – Documentação do código
  e manuais


http://eclipsercp.org/book/ - Eclipse RCP
Designing, Coding, and Packaging Java Applications

Mais conteúdo relacionado

Mais procurados

Apenas um script de teste para iOS e Android
Apenas um script de teste para iOS e AndroidApenas um script de teste para iOS e Android
Apenas um script de teste para iOS e AndroidElias Nogueira
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileElias Nogueira
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellIgor Abade
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no javaPedro Cavalero
 
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareDevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareAndré Dias
 
Novidades das Bibliotecas Jetpack do Android (2021)
Novidades das Bibliotecas Jetpack do Android (2021)Novidades das Bibliotecas Jetpack do Android (2021)
Novidades das Bibliotecas Jetpack do Android (2021)Nelson Glauber Leal
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressWalmyr Lima e Silva Filho
 
ASP.NET Core Day Campinas
ASP.NET Core Day CampinasASP.NET Core Day Campinas
ASP.NET Core Day CampinasJaqueline Ramos
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasWordCamp Floripa
 
[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes CamadasJúlio de Lima
 
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...Renato Groffe
 
[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de APIJúlio de Lima
 
Sebastian Ferrari - Why React is good for business
Sebastian Ferrari - Why React is good for businessSebastian Ferrari - Why React is good for business
Sebastian Ferrari - Why React is good for businessReact Conf Brasil
 

Mais procurados (20)

Apenas um script de teste para iOS e Android
Apenas um script de teste para iOS e AndroidApenas um script de teste para iOS e Android
Apenas um script de teste para iOS e Android
 
Selenium web pt br
Selenium web pt brSelenium web pt br
Selenium web pt br
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e Mobile
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no java
 
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareDevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
 
Novidades das Bibliotecas Jetpack do Android (2021)
Novidades das Bibliotecas Jetpack do Android (2021)Novidades das Bibliotecas Jetpack do Android (2021)
Novidades das Bibliotecas Jetpack do Android (2021)
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
 
ASP.NET Core Day Campinas
ASP.NET Core Day CampinasASP.NET Core Day Campinas
ASP.NET Core Day Campinas
 
UMLet
UMLetUMLet
UMLet
 
Angular 2
Angular 2Angular 2
Angular 2
 
Selenium
SeleniumSelenium
Selenium
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio Nas
 
[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas
 
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
 
[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API
 
Sebastian Ferrari - Why React is good for business
Sebastian Ferrari - Why React is good for businessSebastian Ferrari - Why React is good for business
Sebastian Ferrari - Why React is good for business
 
Cultura de testes em times mobile
Cultura de testes em times mobileCultura de testes em times mobile
Cultura de testes em times mobile
 
Middlewares ASP.NET
Middlewares ASP.NETMiddlewares ASP.NET
Middlewares ASP.NET
 

Destaque

Prototypes are Forever - XP 2010 - EN
Prototypes are Forever - XP 2010 - ENPrototypes are Forever - XP 2010 - EN
Prototypes are Forever - XP 2010 - ENHugo Corbucci
 
Retrospectivas Ágeis - Agile Brazil 2010 - PT-BR
Retrospectivas Ágeis - Agile Brazil 2010 - PT-BRRetrospectivas Ágeis - Agile Brazil 2010 - PT-BR
Retrospectivas Ágeis - Agile Brazil 2010 - PT-BRHugo Corbucci
 
Agile in FLOSS world - EA 2009 - PT-BR
Agile in FLOSS world - EA 2009 - PT-BRAgile in FLOSS world - EA 2009 - PT-BR
Agile in FLOSS world - EA 2009 - PT-BRHugo Corbucci
 
Métodos Ágeis - DataPrev 2009 - PT-BR
Métodos Ágeis - DataPrev 2009 - PT-BRMétodos Ágeis - DataPrev 2009 - PT-BR
Métodos Ágeis - DataPrev 2009 - PT-BRHugo Corbucci
 
Coding Dojo - FISL 2009 - PT-BR
Coding Dojo - FISL 2009 - PT-BRCoding Dojo - FISL 2009 - PT-BR
Coding Dojo - FISL 2009 - PT-BRHugo Corbucci
 
Sistemas sustentáveis
Sistemas sustentáveisSistemas sustentáveis
Sistemas sustentáveisHugo Corbucci
 
Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BR
Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BRMétodos ágeis em FLOSS - CONSEGI 2011 - PT-BR
Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BRHugo Corbucci
 
Sistemas Evolutivos ou "pacíficos"
Sistemas Evolutivos ou "pacíficos"Sistemas Evolutivos ou "pacíficos"
Sistemas Evolutivos ou "pacíficos"Hugo Corbucci
 
Lean Lego Game - EA 2009 - PT-BR
Lean Lego Game - EA 2009 - PT-BRLean Lego Game - EA 2009 - PT-BR
Lean Lego Game - EA 2009 - PT-BRHugo Corbucci
 

Destaque (9)

Prototypes are Forever - XP 2010 - EN
Prototypes are Forever - XP 2010 - ENPrototypes are Forever - XP 2010 - EN
Prototypes are Forever - XP 2010 - EN
 
Retrospectivas Ágeis - Agile Brazil 2010 - PT-BR
Retrospectivas Ágeis - Agile Brazil 2010 - PT-BRRetrospectivas Ágeis - Agile Brazil 2010 - PT-BR
Retrospectivas Ágeis - Agile Brazil 2010 - PT-BR
 
Agile in FLOSS world - EA 2009 - PT-BR
Agile in FLOSS world - EA 2009 - PT-BRAgile in FLOSS world - EA 2009 - PT-BR
Agile in FLOSS world - EA 2009 - PT-BR
 
Métodos Ágeis - DataPrev 2009 - PT-BR
Métodos Ágeis - DataPrev 2009 - PT-BRMétodos Ágeis - DataPrev 2009 - PT-BR
Métodos Ágeis - DataPrev 2009 - PT-BR
 
Coding Dojo - FISL 2009 - PT-BR
Coding Dojo - FISL 2009 - PT-BRCoding Dojo - FISL 2009 - PT-BR
Coding Dojo - FISL 2009 - PT-BR
 
Sistemas sustentáveis
Sistemas sustentáveisSistemas sustentáveis
Sistemas sustentáveis
 
Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BR
Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BRMétodos ágeis em FLOSS - CONSEGI 2011 - PT-BR
Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BR
 
Sistemas Evolutivos ou "pacíficos"
Sistemas Evolutivos ou "pacíficos"Sistemas Evolutivos ou "pacíficos"
Sistemas Evolutivos ou "pacíficos"
 
Lean Lego Game - EA 2009 - PT-BR
Lean Lego Game - EA 2009 - PT-BRLean Lego Game - EA 2009 - PT-BR
Lean Lego Game - EA 2009 - PT-BR
 

Semelhante a Eclipse Rich Client Platform - FISL 2009 - PT-BR

Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressRômulo Zoch
 
SpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerSpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerDr. Spock
 
Introdução ao Adobe Flex
Introdução ao Adobe FlexIntrodução ao Adobe Flex
Introdução ao Adobe FlexRafael Nunes
 
Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Fernando Gonçalves
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasAmazon Web Services LATAM
 
Produtividade infinito e além com We.js
Produtividade infinito e além com We.jsProdutividade infinito e além com We.js
Produtividade infinito e além com We.jsAlberto Souza
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Eduardo Pires
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuitoAlexandre Tarifa
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPelliando dias
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-phpBrenno Abreu
 
Cloud computing & Spring Framework
Cloud computing & Spring FrameworkCloud computing & Spring Framework
Cloud computing & Spring FrameworkJulio Viegas
 
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataformaTDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataformaRogério Moraes de Carvalho
 
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataformaTDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataformatdc-globalcode
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosphelypploch
 
The twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo realThe twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo realJosé Filipe Lyra
 

Semelhante a Eclipse Rich Client Platform - FISL 2009 - PT-BR (20)

Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPress
 
SpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerSpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm Server
 
Introdução ao Adobe Flex
Introdução ao Adobe FlexIntrodução ao Adobe Flex
Introdução ao Adobe Flex
 
Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
 
Produtividade infinito e além com We.js
Produtividade infinito e além com We.jsProdutividade infinito e além com We.js
Produtividade infinito e além com We.js
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuito
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHP
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-php
 
Plugins
PluginsPlugins
Plugins
 
Iniciando com ASP.NET
Iniciando com ASP.NETIniciando com ASP.NET
Iniciando com ASP.NET
 
Cloud computing & Spring Framework
Cloud computing & Spring FrameworkCloud computing & Spring Framework
Cloud computing & Spring Framework
 
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataformaTDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
 
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataformaTDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
The twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo realThe twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo real
 

Eclipse Rich Client Platform - FISL 2009 - PT-BR

  • 1. eRCP – Eclipse Rich Client Platform Hugo Corbucci - hugo@agilbits.com.br Mariana V. Bravo - marivb@agilbits.com.br Alexandre Freire - freire@agilbits.com.br
  • 2. Essa apresentação O que é eRCP? Aplicação Produto Plugin com view Ponto de extensão Plugin de extensão Referências e Resumo
  • 3. O que é o Eclipse RCP? Eclipse Rich Client Platform Sistema baseado em plug-ins
  • 4. O que é o Eclipse RCP? Eclipse Rich Client Platform Sistema baseado em plugins Interface gráfica nativa graças ao SWT
  • 5. O que é o Eclipse RCP? Eclipse Rich Client Platform Sistema baseado em plugins Interface gráfica nativa graças ao SWT Framework para aplicações desktop em Java
  • 6. O que é o Eclipse RCP? Eclipse Rich Client Platform Sistema baseado em plugins Interface gráfica nativa graças ao SWT Framework para aplicações desktop em Java Software Livre fortemente apoiado pela IBM
  • 7. O que é o Eclipse RCP? Eclipse Rich Client Platform Sistema baseado em plugins Interface gráfica nativa graças ao SWT Framework para aplicações desktop em Java Software Livre fortemente apoiado pela IBM Base para uma das melhores IDEs Java
  • 8. Um exemplo minimalista A aplicação mais simples com RCP que se possa fazer
  • 9. Para distribuir o exemplo Criando um “produto” (product)
  • 10. O que era tudo isso? Plugins Framework de aplicação com plugins org.eclipse.equinox.app org.eclipse.equinox.common org.eclipse.equinox.launcher org.eclipse.equinox.launcher.carbon.macosx org.eclipse.equinox.preferences org.eclipse.equinox.registry org.eclipse.osgi
  • 11. O que era tudo isso? Plugins Framework de aplicação com plugins Infra-estrutura básica do Eclipse
  • 12. O que era tudo isso? Plugins Framework de aplicação com plugins Infra-estrutura básica do Eclipse Interface gráfica org.eclipse.jface org.eclipse.jface.databinding org.eclipse.swt org.eclipse.swt.carbon.macosx org.eclipse.ui org.eclipse.ui.carbon org.eclipse.ui.workbench
  • 13. O que era tudo isso? Plugins Framework de aplicação com plugins Infra-estrutura básica do Eclipse Interface gráfica Outros org.eclipse.help com.ibm.icu
  • 14. O que era tudo isso? Plugins Framework de aplicação com plugins Infra-estrutura básica do Eclipse Interface gráfica Outros Configurações Configurações de cada plugin config.ini
  • 15. O que era tudo isso? Plugins Framework de aplicação com plugins Infra-estrutura básica do Eclipse Interface gráfica Outros Configurações Configurações do plugins config.ini Executável e branding Mostra a imagem no início, lança a JVM e carrega os arquivos plugin.xml
  • 16. Descrição de um plugin build.properties O que deve ser empacotado para execução O que deve ser empacotado para versão com código fonte META-INF/MANIFEST.MF Meta-informações sobre o plugin Lista de dependências plugin.xml Descreve como o plug-in contribui para a aplicação
  • 17. Adicionando uma view Contribuindo para a aplicação com uma interface de visualização
  • 18. O que é um ponto de extensão? Um receptor na aplicação para receber contribuições de outros plugins. Permite que um plugin use código que ainda não existe determinando uma interface e meta- informações. O eRCP obtém essas informações no bootstrap.
  • 19. Adicionando um ponto de extensão Um exemplo simples para a view
  • 20. O que é uma extensão? É um conector para um determinado ponto de extensão. Ele deve seguir as regras impostas pelo ponto e será chamado conforme a aplicação precisar.
  • 22. Resumo Fácil criar uma aplicação desktop robusta em Java Flexibilidade através de plug-ins e pontos de extensão Muita ajuda da comunidade do Eclipse
  • 23. Recursos http://www.eclipse.org/rcp - Muitas referências http://help.eclipse.org – Documentação do código e manuais http://eclipsercp.org/book/ - Eclipse RCP Designing, Coding, and Packaging Java Applications