Topei hoje com um artigo EXCELENTE na ACM Queue que achei interessante compartilhar aqui com vocês: Best Practice: Application Frameworks - While powerful, frameworks are not for everyone Best Practice: Application Frameworks - ACM Queue
Três anos atrás escrevi a respeito: “Framework: você REALMENTE sabe o que é isto?” - Framework: você REALMENTE sabe o que é isto? - /dev/Kico - pois acredito que a maior dificuldade em relação à adoção de frameworks é que as pessoas não sabem o que é um framework.
Então seguem minhas opiniões a respeito.
Pontos positivos
O principal ponto positivo pra mim é a manutenção a médio e longo prazo. Lido com aplicações aqui feitas em Grails, por exemplo, escritas QUINZE anos atrás e cuja manutenção tem sido relativamente tranquila (relativamente não, MUITO tranquila) pois basta seguir os padrões definidos pelo framework.
Mais que isto: o onboarding de novos membros na equipe também é muito facilitado pelo framework. Você consegue, por exemplo, que as pessoas ao aprenderem o framework, rapidamente se tornem produtivas.
Outro ponto muito legal é que você evita egos: há ali no framework um padrão bem definido pelo mercado e testado por este, não pelo ego de alguém.
Resumindo: frameworks organizam nosso pensamento e por isto valem à pena.
Lado negativo
O principal pra mim é a adoção do framework incorreto, muitas vezes por hype. Você gera uma série de problemas com isto:
- A equipe não se adequa ao framework.
- O framework passa a ser usado pra fins que não foi projetado.
- Você tem no final das contas código de má qualidade.
Tem como fugir do framework?
Não acredito que seja possível fugir do uso de um framework, pois mesmo que você não use nenhum, os padrões que você adota no seu projeto já criam um framework focado no contexto da sua aplicação.
De qualquer maneira, é uma discussão interessante. Qual a opinião de vocês a respeito?