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

Eclipse Rich Client Platform - FISL 2009 - PT-BR

  • 1.
    eRCP – EclipseRich 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 oexemplo Criando um “produto” (product)
  • 10.
    O que eratudo 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 eratudo isso? Plugins Framework de aplicação com plugins Infra-estrutura básica do Eclipse
  • 12.
    O que eratudo 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 eratudo 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 eratudo 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 eratudo 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 umplugin 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 pontode 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.
  • 21.
  • 22.
    Resumo Fácil criar umaaplicaçã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 - Muitasreferências http://help.eclipse.org – Documentação do código e manuais http://eclipsercp.org/book/ - Eclipse RCP Designing, Coding, and Packaging Java Applications