Arquitetura orientada a plugins

Uma coisa que tem me incomodado ultimamente são certos programas e frameworks tão orientados a plugins que não fica claro o que o núcleo realmente faz. O núcleo acaba parecendo algo que não faz nada e é apenas um contêiner para plugins. Na verdade isso nem seria exatamente um problema se fosse apenas a arquitetura interna. O problema é quando isso acaba afetando a documentação e a forma de uso:

No caso da documentação, o usuário novato vai lá tentar entender como funciona ou talvez só queira ter uma idéia de para que serve o negócio e não encontra nada, só coisas como “framework completo de desenvolvimento”, “facilita sua vida”, “arquitetura modular”, “integração com os padrões da indústria”. A parte interessante fica mesmo nos plugins… Se é assim, não poderiam ser bibliotecas separadas?

No caso da forma de uso, o usuário se depara com um esqueleto de um programa, que faz menos do que o esperado e para tudo precisa instalar um plugin, cuja qualidade é garantida (ou não!) por terceiros, e reiniciar.

E uma combinação interessante: quando, para evitar o problema acima, o download básico do programa já vem com vários plugins junto! Isso afeta usuários como eu, que tentam ler a documentação primeiro, e não percebe que várias coisas marcadas como “plugins” são na verdade parte da instalação básica.

Exemplos concretos? Maven, Struts 2, Eclipse, Spring (nunca usei), Gnome 3 (também nunca usei — mas o Linus Torvalds reclama justamente disso: todos os recursos que ele quer são plugins fora da instalação básica). Claro, cada um com suas peculiaridades, não quer dizer que esses projetos tenham todos esses problemas, às vezes é só uma incomodaçãozinha com a estrutura da documentação.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s