Como Escolher a Tecnologia Certa para o seu Projeto
Foto de bruce mars na Unsplash
PS:. Levo em consideração minha experiência como Desenvolvimento Web ou Mobile na stack React JS, Node JS e React native, mas alguns conceitos podem se aplicar a diversas outras techs então ajude comentando para enriquecermos mais esse conteúdo 😉
Aquela dúvida no início do projeto...
Como desenvolvedor web, você já deve ter se deparado com a difícil decisão de escolher a tecnologia certa para um novo projeto.
Com tantas opções disponíveis no mercado, desde frameworks frontend como React.js até plataformas de desenvolvimento mobile como React Native, pode ser desafiador determinar qual delas melhor se adequa às necessidades do seu projeto.
Vou colocar aqui alguns pontos para podermos refletir e comentar para ajudar pessoas a se informarem ao escolher a tecnologia para o seu próximo projeto.
1. Compreenda os Requisitos do Projeto
Antes de começar a escolher uma tecnologia, é fundamental entender completamente os requisitos do projeto. Isso inclui considerações como:
- Escopo do projeto (tamanho, complexidade, funcionalidades necessárias).
- Público-alvo (dispositivos e plataformas que precisam ser suportados).
- Tempo e recursos disponíveis para o desenvolvimento.
Faça essas perguntas para si e anote em algum lugar as respostas. Eu, ultimamente, tenho jogado essas questões no GPT para poder ter uma segunda perspectiva. Isso tem me ajudado a decidir quais techs vou usar em um projeto pessoal, mas se seu negócio for escolher techs para seu trabalho sugiro conversar com colegas e pedir pontos sobre a tech que deseja.
Com esses argumentos definidos você vai ter uma base mais solida para tomada de decisão, então se sentirá mais tranquilo em seguir em frente.
2. Avalie as Necessidades de Desenvolvimento Frontend e Backend
No momento de iniciar um projeto, é normal ter aquela ansiedade de criar a POC (Prova de conceito em inglês) ou de ir no famoso Extreme GO-Horse para ver a coisa sair do papel, e eu compartilho muito dessa empolgação, mas existem processos para chegar lá.
O Mais simples é criar uma lista de pontos do que você acredita que vai precisar para o seu projeto e a partir desta lista listar tecnologias que vão atender sua demanda.
Muita coisa você poderá fazer "no braço", mas algumas coisas você pode usar libs para auxiliar, então se estiver aprendendo se arrisque primeiro, depois procure uma lib, pois assim você aprenderá e depois aprenderá com produtividade.
Aqui um exemplo de lista que eu faria para iniciar um projeto hoje:
-
Para o desenvolvimento frontend, considere o ecossistema de bibliotecas e frameworks disponíveis, como React.js, Angular, Vue.js, etc.
-
Para o desenvolvimento backend, avalie as opções de linguagens de programação (Node.js, Python, Java, etc.) e estruturas (Express.js, Django, Spring, etc.).
A partir dessa lista eu crio outra lista refinando e adicionando mais libs e techs para chegar ao MVP (Mínimo produto viável em inglês, não confundir com Most Valuable Player dos games 😅)
3. Considere a Manutenção e Suporte a Longo Prazo
Pensar se o projeto pode crescer e precisar de manutenção são passos importantes a serem pensados.
Recentemente postei um VÍDEO falando sobre como me arrependi de usar Next.JS para meu portifólio, criando várias dívidas técnicas que não precisava e que poderia resolver meu portifólio apenas com o básico de HTML CSS e JS.
Então refatorei meu portifólio e você pode dar uma olhadinha nele neste LINK Está bem melhor, mas ainda tem muito o que melhorar nele para a entrega que eu pretendo.
Finalizado o Jabá pessoal, nesse projeto eu pensei sinceramente em descer para o HTML CSS e JS mas levei em conta que em um futuro próximo quero poder adicionar desafios, integração com lives, adicionar meus posts aqui do tabnews como se fosse um blog pessoal no site mesmo, integrar com linkedin, instagram....
Muitas dessas coisas não vão acontecer, mas para isso decidi apenas criar em React JS e usei Tailwind CSS para agilizar as interfaces, adicionei framer motion também para adicionar algumas animações, mas continuo aprendendo a usar o framer motion, então não está bem legal, mas com isso eu já consegui resolver vários problemas que eu tinha no meu portifólio antes e agora ele está até mais performático e por algum motivo antes não aparecia nas buscas do google e agora aparece na primeira página para mim.
Então tomei essas decisões pensando em curto e médio prazo.
Deixo aqui uma lista de alguns pontos para levar em consideração nessa hora:
- Escolha tecnologias que tenham uma comunidade ativa e suporte contínuo. Isso garantirá que você possa resolver problemas e receber atualizações de segurança no futuro.
- Avalie a documentação disponível e recursos educacionais para aprender e aprimorar suas habilidades na tecnologia escolhida.
- Verifique os objetivos da sua aplicação, se eles são curtos, médios ou de longo prazo. Quanto maior, melhor investir em estruturas mais consolidadas.
4. Pense na Escalabilidade e Performance
Pensando no exemplo do meu portifólio, (lá vem ele novamente fazer seu Jabá pessoal, calma, vai valer a pena!) Eu pensei naqueles pontos que eu quero trazer depois. Isso me fez entender que usar somente o básico não me ajudaria em escalabilidade e talvez usando next js eu não teria a performance que eu queria, talvez por não saber usar o framework muito bem ou as libs que eu tava usando, enfim.
Isso fez com que eu usasse meu conhecimento sólido em React JS e conseguisse alcançar alguns objetivos que eu tinha que antes não estava conseguindo.
E pensando nas novas funcionalidades que eu quero integrar na aplicação, acredito que isso vai me ajudar na escalabilidade.
Lembra aquela lista que fizemos antes. Volte nela e diga, quero ter funcionalidade x o que eu preciso para ter isso? Aí vai abrir uma árvore de libs e techs que atendem a isso, então você pode refinar até encontrar a que faz mais sentido para o projeto.
Lembre-se de adicionar pessoas-chave nessas tomadas de decisão caso seja um projeto real, para sua empresa.
Lembre também de considerar o tempo de implementação, dificuldade de desenvolvimento entre outros. Não adianta querer implementar Redux se você vai ter que aprender React js ainda 🤣🤣🤣, nesse caso use Context API. (Esse exemplo o autor se atrapalhou no início da carreira)
Conclusão
Escolher a tecnologia certa para um projeto de é uma decisão estratégica que pode impactar significativamente o sucesso do seu projeto.
Acredito que esses passos acima consigam ajudar quem está iniciando ou quem está meio perdido a estar mais preparado para tomar uma decisão e escolher as tecnologias que melhor atendam às suas necessidades.
Se gostou do artigo, curte e comenta! Vamos enriquecer esse conteúdo para ajudar mais pessoas que estão neste momento.
Me sigam nas redes sociais para acompanharem meus conteúdos: