O modelo do plug-in de tempo de execução

O mecanismo do tempo de execução da plataforma é iniciado quando um usuário inicia um aplicativo desenvolvido com o Eclipse. O tempo de execução implementa o modelo de plug-in básico e a infra-estrutura utilizada pela plataforma. Mantém controle de tudo dos plug-ins instalados e a função que fornecem.

Um plug-in é um componente estruturado que contribui com código (ou documentação ou ambos) para o sistema e o descreve de uma maneira estruturada. Os plug-ins podem definir pontos de extensão, pontos de função bem definidos que podem ser estendidos por outros plug-ins. Quando um plug-in contribui com uma implementação para um ponto de extensão, dizemos que ele inclui uma extensão na plataforma. Essas extensões e os pontos de extensão são declarados no arquivo de manifesto (plugin.xml) do plug-in.

Utilizar um modelo de extensão comum fornece uma maneira estruturada para que os plug-ins descrevam as maneiras que podem ser estendidas e para que os plug-ins do cliente descrevam as extensões fornecidas. Definir um ponto de extensão é muito parecido com definir qualquer outra API. A única diferença é que o ponto de extensão é declarado utilizando XML em vez de uma assinatura de código. Do mesmo modo, um plug-in do cliente utiliza XML para descrever sua extensão específica para o sistema.

Um objetivo geral do tempo de execução é que o usuário final não deveria ser penalizado pela memória ou pelo desempenho devido a plug-ins que estão instalados, mas não são utilizados. A natureza declarativa do modelo de extensão da plataforma permite que o mecanismo do tempo de execução para determinar quais pontos de extensão e extensões são fornecidos por um plug-in sem executá-lo. Assim, muitos plug-ins podem ser instalados, mas nenhum será ativado até que a função fornecida pelo plug-in tenha sido pedida de acordo com a atividade do usuário. Esse é um recurso importante para fornecer uma plataforma escalável e robusta.