Fazer na unha ou utilizar um framework: Qual a melhor opção para o seu projeto?

cabecalho

Nesse pequeno artigo resolvi escrever um pouco sobre um assunto muito polêmico, que já foi até discutido durante o desenvolvimento do tabnews.com.br.

O que são frameworks?

Frameworks são conjuntos de bibliotecas e ferramentas pré-desenvolvidas que fornecem uma estrutura para o seu projeto, incluindo rotinas comuns, componentes de interface de usuário e funções de banco de dados. Eles são criados para agilizar o processo de desenvolvimento de software, permitindo que você se concentre mais na lógica de negócio do seu projeto e menos nas tarefas repetitivas e padronizadas.

Fazer na unha ou utilizar um framework?

Esse dilema sempre acontece com todos desenvolvedores, gostaria de iniciar fazendo uma analogia com um simples suco de limão.

Quando você quer tomar um suco de limão você tem algumas opções:

  • Comprar o suco natural e colocar no seu copo.
  • Comprar o limão espremer, misturar com água e açúcar.
  • Colher o limão espremer, misturar com água e açúcar.
  • Plantar o limão esperando dar frutos colher espremer, misturar com água e açúcar. ... Aqui poderíamos evoluir até a parte onde você planta a cana de açúcar para fazer o açúcar.

Existe uma parte muito legal de fazer o código do ZERO para entender / aprender como funciona a base na sua essência.

Como quando na escola você plantava feijão para entender na prática como funciona o processo de cultivar alimentos.

Isso não significa que sempre que quiser comer feijão vai precisar fazer todo esse processo novamente.

É tão legal entender o que você está programando, mesmo utilizando o framework (feijão), que já foi programado (plantado e cultivado) por outras pessoas.

A resposta ideal na MINHA OPINIÃO é se você está iniciando na carreira de desenvolvedor, tente estudar as linguagens na sua forma mais pura, ZERO biblioteca / framework.

Você vai sentir as dores de quem também sentiu e decidiu criar / iniciar o framework para melhorar a performance e velocidade no desenvolvimento.

Agora se você já é um programador e passou pelo processo que comentei, vale avaliar alguns fatores importantes para utilização de um framework no seu projeto.

  • O framework / biblioteca possui uma comunidade desenvolvedora ativa?
  • É fácil de localizar a documentação e informações na internet?
  • Você entende o motivo real da existência desse framework?
  • Quais são os benefícios de utilizar o framework para o seu projeto?
  • Acompanha as informações / falhas de segurança desse framework?
  • Utiliza sempre a última versão estável?

Em resumo, fazer na unha e utilizar frameworks são duas opções viáveis para o desenvolvimento de software, cada uma com suas próprias vantagens e desvantagens.

Fazer na unha pode ser uma opção viável para projetos pequenos e simples, mas utilizar frameworks pode ser mais eficiente para projetos mais complexos. No final, a escolha depende das necessidades e recursos do seu projeto específico. Independentemente da opção escolhida, é importante lembrar de avaliar os prós e contras e considerar os fatores relevantes para o seu projeto, como a atividade da comunidade de desenvolvedores, a disponibilidade de documentação e informações na internet, e os benefícios e falhas de segurança do framework.

Espero ter ajudado vocês com esse pequeno artigo e fiquem a vontade de completar com mais informações nos comentários.

Rodrigo Kulb http://youtube.com/rodrigoKulb https://www.instagram.com/rodrigo_coding/

Sempre fico me perguntando por que o Filipe não quis usar algum ORM algo que deixasse mais simples o desenvolvimento... Creio que se o tivesse usado, talvez ate pra comunidade se tornaria mais facil de contribuir... To há alguns dias tentando entender várias partes do tabnews que tenho certeza que teriam sido mais simples com algum ORM ou estrutura comum do mundo do JS.

Grande [@vesla](/vesla) ótima pergunta, separei o link da Issues que rolou essa discução com a explicação do Filipe porque não utilizar! https://github.com/filipedeschamps/tabnews.com.br/issues/61#issuecomment-879463492

Recentemente eu fui contrato como estágiario para suporte em uma pequena empresa que possui produtos criados em PHP, como futuramente pretendem me transformar em "Analista de Testes" fui buscar conhecimentos na linguagem. Anteriormente tive a experiência de tentar criar uma aplicação em um hackaton(com o mesmo PHP) sem framework algum, só com a minha amiga - coragem e brincadeiras a parte a documentação do PHP, resultado? não sai da tela de login/cadastro - tive problemas em conectar com o banco de dados por conta das versões, quando resolvi o problema, fim do hackaton. Hoje é o segundo dia que peguei uns videos no youtube sobre Laravel e estou finalizando um projeto de aplicação monolítica que já conta com: login/cadastro, controle de sessão e uma arquitetura MVC impecável gerada pelo Laravel. Com isso tudo, poderia muito bem ser um defensor dos frameworks, mas algo me incomodava um pouco - o fato de simplesmetente as coisas acontecerem "AUTOMAGICAMENTE", atualmente curso segurança da informação e via de regra quando temos facilidade/agilidade de mais implica em vulnerabilidade e isso com certeza é um ponto negativo dos frameworks - claro, isso é só o ponto de vista de alguém que nunca trabalhou com programação propiamente, apenas cursos, projetos e bootcamps.

PS: Essa sua analogia foi fantástica e vou um pouco além, existe o suco de limão "de saquinho"(em pó - artificial) que pode remeter a ferramentas como o Salesforce por exemplo, Wix entre outros.

vale considerar tambem que os grandes frameworks tem dezenas de pessoas codando, revisando e testando, seria ingênuo pensar que seu código é tao robusto e seguro quanto o do framework