Dicas de dev para você escolher o melhor framework

Leticia Coelho
ArcTouch
Published in
4 min readSep 20, 2021

Quando a ideia de se ter uma área dedicada a desenvolvimento se tornou uma realidade, diversas ferramentas de programação nasceram e ganharam espaço no dia a dia desses profissionais. Algumas delas até encontraram nichos próprios, conseguindo resolver problemas bastante específicos para os novos projetos de software. Já outras têm uma abordagem mais genérica, sendo regularmente usadas por algumas equipes na maioria dos seus projetos. Por conta dessas diferenças, escolher o melhor framework para o seu projeto é extremamente importante. Porém, antes de pensarmos em tecnologia, vamos entender a diferenciação das escolhas na stack de ferramentas.

Quando pensamos no que o usuário irá interagir diretamente, ou seja, na tela do aplicativo, nós estamos falando do front-end. Já quando falamos de manipular dados, armazená-los e garantir a sua segurança, geralmente estamos falando do back-end, que, por sua vez, utiliza teorias e ferramentas diferentes das utilizadas no front-end.

Além do front e do back, também temos o conceito de full-stack. Projetos full-stack são aqueles que compartilham tecnologias que atendem ambos os cenários de front-end e back-end. Por conta disso, esses projetos compartilham tecnologias que podem gerar telas e interagir com bancos de dados, além de compartilhar servidores e código.

Sendo assim, a definição da stack é o momento em que os profissionais envolvidos se unem para avaliar quais das alternativas do mercado são compatíveis com as necessidades específicas de um projeto, favorecendo a sua manutenção, a sua escalabilidade e o seu sucesso financeiro.

Pensando no sucesso do projeto, é preciso considerar 4 principais aspectos técnicos:

  1. Disponibilidade de tempo para o desenvolvimento.
  2. Necessidade de escalabilidade no futuro.
  3. Complexidade prevista.
  4. Suporte para plataformas específicas.

Essas ferramentas podem ser linguagens de programação, frameworks, micro-frameworks, bibliotecas, plugins, técnicas, modelos, implementação de padrões como design patterns, dentre outras. Porém, hoje falaremos especificamente de frameworks e micro-frameworks.

Escolhendo o melhor framework ou micro-framework

Vale recordar que os frameworks são um conjunto de bibliotecas e classes que oferecem funcionalidades prontas, agilizando a codificação do sistema. Já os micro-frameworks têm o mesmo objetivo que os frameworks, sendo o de diminuir o tempo de desenvolvimento através da disponibilização de código pronto. No entanto, os micro-frameworks possuem recursos mínimos para a utilização, sendo possível realizar a inserção apenas das bibliotecas necessárias para o desenvolvimento, o que favorece um projeto mais leve e compacto.

Quando olhamos para essas duas ferramentas de programação, encontramos diversas alternativas, sendo boa parte delas divididas entre opções para o front-end e opções para o back-end. E para escolher a mais adequada, considerando esses diferentes lados de um projeto, tenho conselhos diferentes.

Opções para front-end

Quando analisamos as necessidades do projeto em front-end, é necessário considerar algumas variáveis. Minha dica é: antes de iniciar as suas pesquisas, responda às seguintes perguntas mentalmente:

  1. Seu projeto é um site com um perfil mais expositivo, como um blog, ou um portal? Ou seu projeto precisa ter interativo, similar a um aplicativo?
  2. Você precisa escrever o código back-end com o front-end, no estilo full stack (aplicações que compartilham a mesma tecnologia/linguagem e geralmente a mesma estrutura)?
  3. Sua equipe é fortemente inclinada a algum paradigma de programação, por exemplo, programação orientada a objetos ?

Com essas respostas, você terá mais facilidade para identificar os frameworks ou micro-frameworks que têm aderência às necessidades do projeto que irá iniciar.

Veja um exemplo prático: caso você necessite desenvolver um site mais robusto e interativo, não precise programar um servidor junto ao front, ao estilo full stack e tenha uma equipe com preferência por programação orientada a objetos, o Angular pode ser uma boa alternativa.

Opções para back-end

Assim como existe uma enorme quantidade de linguagens de programação para o back-end, também existem mais opções de frameworks e micro-frameworks. Portanto, diferentemente do fluxo que sugerimos no front-end, ao pesquisar o melhor framework para o back-end, é fundamental ir além das funcionalidades e considerar também se a sua equipe conta com pessoas desenvolvedoras com o conhecimento necessário. Por isso, a lista de questões que sugiro que você responda antes de iniciar a sua pesquisa é mais extensa que a anterior.

  1. Alta performance é uma necessidade?
  2. Nesse caso, conseguir desenvolver rapidamente é mais importante que a performance do framework?
  3. Qual infraestrutura você está utilizando?
  4. Pode ser um micro-framework?
  5. Precisa ter suporte para infraestrutura Windows?
  6. Precisa ter microcodebase? (Ou seja, aplicações com a necessidade de um código sucinto e focado.)
  7. Faz diferença ser uma linguagem compilada ou interpretada? (Entenda por linguagem compilada aquela que gera o código para ser posteriormente executado e a linguagem interpretada é aquela que executa o código que foi analisado.)

Segue um exemplo: em um projeto que precisa de suporte para a infraestrutura Windows, que demanda o apoio de um framework robusto e dispensa uma microcodebase, o .Net Framework costuma ser uma boa opção.

Independentemente de você estar em busca de uma ferramenta front-end, back-end ou ambas, aproveitar o momento inicial do projeto e se fazer essas perguntas é a melhor alternativa para encontrar o melhor framework para o seu caso. Afinal, a escolha delimita consideravelmente o potencial de um projeto.

Por fim, aproveitando que você leu até aqui, aproveito para deixar uma última dica: aqui na ArcTouch, temos uma série de oportunidades para desenvolvedores e desenvolvedoras e, se você está em busca de um novo momento na sua carreira, vale a pena ativar o nosso alerta de vagas.

--

--

Leticia Coelho
ArcTouch

Software Engineer @ArcTouch | Telecommunications Engineer | Automation & Systems Engineer Masters student | Tech Mentor | IoT Consultant |