Em primeiro lugar, antes de explicar o processo que usei para selecionar um framework, é importante pensar sobre o por quê nós precisamos usá-lo.

Quando você inicia a implementação de um pequeno software e você está muito confortável com a linguagem de programa escolhida, um framework pode trazer camadas extras e muitas ferramentas que podem ser desnecessárias. De qualquer maneira, se esta pequena solução tiver uma perspectiva de rápido crescimento, usar um framework pode fazer você estar pronto para uma futura expansão.

Se seu projeto tem mais que um membro, ele não é um pequeno projeto. Então use um framework.

Em minha opinião, a grande vantagem de usar um framework é apenas por causa desses pontos abaixo:

  1. Ele tem muitas funcionalidades prontas para uso;
  2. Testado por muitas pessoas;
  3. Muitas pessoas para implementarem melhorias.

Você também pode criar seu próprio framework ou seu conjunto de bibliotecas, porém usar algo pronto é um pouco mais inteligente.

Minha tendência é procurar por frameworks que usam linguagens que eu já tenho algum domínio ou que eu planejo ter em breve.

Um importante ponto para analizar  em um framework é sua documentação e o quão rápido ele é atualizado. Você pode validar isso em fóruns e repositórios de código-fonte. Então você precisará avaliar a qualidade. Eu frequentemente sigo os tutoriais e tento alterá-los consultando a documentação oficial para ter uma percepção mais realista.

Quando você vai procurar dicas em fóruns, você pode validar a atividade da comunidade. Uma comunidade forte faz toda diferença quando você precisa de algum suporte.

Com o primeiro contato feito, você já pode ter sua primeira impressão. Você precisa gostar de como o framework funciona, não se engane. Se você não gostar, em pouco tempo você vai querer substitui-lo.

Assim, você pode ir para a parte mais técnica de sua análise com as seguintes questões:

  1. Ele tem todas as principais funcionalidades que o sistema precisa em um curto prazo?
  2. Os benchmarks cumprem a demanda do sistema?
  3. Como é o processo de atualização do framework? Fácil, complexo?
  4. Como é o processo de implantação?
  5. Como é a curva de aprendizado?
  6. Há pessoas no mercado que o conhecem?
  7. Há empresas que podem te suportar? Pagando, é claro.
  8. Há algum curso disponível?
  9. Quais recursos de hardware são necessários?

Há muitas outras variáveis para avaliar, mas se você utilizar essas anteriores como base, sua escolha pode ser melhor. Faça uma planilha comparando os resultados, pois ninguém vai memorizar tudo. Compare com outros.

Uma preocupação que você precisa ter é não esquecer como a linguagem funciona, assim você nunca terá um problema que você não possa resolver.

Qualquer framework vai te ajudar em 80% do seu trabalho e não ajudará muito em 20%. Não existe bala de prata, mas você pode ser mais eficiente no seu trabalho.