O que justifica?
- Produtividade e velocidade de organização
- Complexidade
- Organização
- Escolha técnica da empresa
O que deveria ser ABOLIDO?
- Falta de conhecimento
Justificativas:
Jquery
Essa lib só deveria ser considerada se você estiver vivendo em um universo paralelo antes de 2018. Nessa época cada brawser implementava a engine javascript da sua maneira. Não era difícil encontrar uma propriedade css assim:
--webkit-align: middle # Chrome
--firefox-align: center # Firefox
--ms-align: center # Internet Explorer
align: center
Ou seja, uma propridade css PARA CADA NAVEGADOR. Imagine ter funções javascript inteiras:
if(browser == `Chrome`)
abreModalChrome()
else if (browser == `Firefox`)
abreModalFirefox()
else if(browser == `InternetExplorer`)
abreModalIE()
SIM! ISSO EXISTIA! ERA HORRÍVEL
Imagina dar manutenção em uma página web assim, claro, tinha muito menos javascript e eram sadas apenas para funções pontuais. Tudo era estático.
Hoje o javascript evoluiu e tudo que se faz com JQuery pode ser feito de forma fácil com javascript puro, sem qualquer lib.
Era Vue, React, Angular
Quando surgiram esses frameworks interativos tudo muda, imagina voçê numa listagem de produtos selecionar um filtro e não precisar ir pro backend para calcular os filtros aplicados na tela. Imagina não precisar fazer um for entre todos os <li>
de uma página procurando o que o id
é igual a filtroOrdemDecrescente
.
Você seleciona algo na tela e ele MAGICAMENTE dá o feedback sem você precisar cuidar manualmente disso. É uma maravilha
Argumento da complexidade
Já mecheu com Data em javascript? tenho traumas até hoje! por isso a lib date-fns se encaixa muito bem no quesito complexidade. Ela permite você trabalhar com soma e subtração de intervalos como se trabalha com a nova api de data do Java. apenas chamando uma função. É perfeita!
Argumento abolido: Falta de conhecimento
Pergunte para qualquer um desses Novos Front-End consumidores de curso
para fazer uma página com um mínimo de interatividade apenas usando CSS, Javascript PUROS
90% não vai saber fazer. E esse é o principal motivo hoje de er o meme de centralizar uma div.
Claro que esse meme perdeu sentido depois do flexbox e grid.
Era TailwindCSS
Esse framework me dá arrepios. Quando olho para os códigos feitos nele meus olhos doem. A maioria deixa o HTML extremamente poluído com dezenas de classes em cada elemento. E o pior: O que mais vejo são pessoas escolhendo ele por não saberem CSS simplesmente com um argumento de "não gosto de CSS"
Sim, a WEB hoje está muito moderna, as vagas estão cada vez mais concorridas, a pressão por produtividade está cada vez maior
Mas nenhuma escolha deveria ser baseada em os devs não saberem fazer de outra forma
Na minha opinião NENHUM desenvolvedor deveria escolher um framework antes de saber fazer tudo que ele faria com aquele framework na mão.
Se um desenvolvedor escolhe Vue, React, Tailwind, DateFns, Lodash, [insira qualquer outro framework/lib aqui] porque não sabe fazer de outra forma ele deveria primeiro estudar o problema, fazer da forma "classica" e depois escolher.
A escolha deveria ser feita por utilidade e n por conhecimento
Disclaimer
Em nenhum momento falei que quem usa X tecnologia não sabem fazer. Apenas falei que quem não sabe fazer prefere X tecnologia.
Conheço pessoas extremamente competentes que usam qualquer uma das tecnologias aqui. Mas sabem fazer qualquer uma das suas funções sem elas