Framework com baterias inclusas ou minimalista...
Eu particularmente fico impressionado com criatividade dos DEVs para dar nomes para algumas coisas, como o termo baterias inclusas para classificar um framework que tenta entregar tudo que o DEV precisa em uma única caixa.
Sem querer entregar a idade... mas não existia nada mais frustante que ganhar um brinquedo, abrir a caixa louco para brincar e ver que o danado precisava de pilhas... e que tinha uma informação na caixa em negrito: "Baterias não inclusas".
Resumo: "Brinquedo sem pilhas" === "efeite de estante".
Sem querer gerar muita polêmica... esse tema desperta paixões. Já trabalhei com frameworks "bombados" como Django (Python), Laravel (PHP), NextJS (JS) e Angular (JS - Frontend) e outros com propostas mais simples como ExpressJS e o FastAPI.
Eu sou um evangelista de Python e gosto muito do Django e isso pode trazer um viés na minha visão, porém não quero ditar regras ou impor minhas idéias... pelo contrário, não tenho respostas para nada.
Eu gosto muito de um framework mais completo porque acelera o processo de desenvolvimento e temos entregas mais rápidas. É muito bom para validar uma idéia de maneira muito rápida. O lado negativo é o alto acoplamento entre o código que representa as regras de negócio e código de terceiros, qualquer vacilo e logo temos classes e objetos de uma camada se misturando com outras. No longo prazo isso vira um inferno, a cada tarefa dá vontade de reescrever tudo... principalmente na hora de escrever os testes...
Os frameworks minimalistas te dão liberdade para arquitetar a aplicação conforme tua necessidade, entregando muito bem aquilo que ele se propõe e ficando na camada de infra estrutura. Mas isso pode ser a receita do fracasso para quem não sabe muito bem o que está fazendo, principalmente se o dev não possui os fundamentos necessários ou alguém mais senior para tomar as decisões mais críticas sobre o projeto.
Na minha opinião, depende do projeto (resposta pronta para quase toda pergunta na áera de tecnologia =) ), mas a maior parte dos meus projetos atuais são de clientes que não possuem requisitos bem definidos e precisamos validar muitas coisas durante o processo de desenvolvimento, o Django facilita minha vida e a manutenção não vira um inferno com os devidos cuidados. Gostaria de ouvir outras opiniões sobre esse assunto... até a próxima.