O rumo que tomei ao parar de usar frameworks e bibliotecas de JavaScript
Certo, o título é uma espécie de mentira. Não existe como eu parar de usar bibliotecas, até por que muitas delas ajudam (E MUITO) no desenvolvimento do website. Porém o que tenho feito ultimamente é parar de usar esses códigos que reinventam toda filosofia do JavaScript.
Existem inúmeros projetos que são de cunho simples, mas que se tornam complexos ao implementar uma camada extra (ou várias) ao projeto. Eu mesmo fui esse tipo de pessoa, queria muito colocar um React da vida num projeto de previsão de tempo, mas no final eu não me senti muito realizado.
O que eu fiz com o React, podia ser feito com JavaScript raiz. Eu não precisava criar toda uma DOM virtual, gastando memória do sistema do usuário para apresentar os dias da semana + alguns ícones + alguns dados de temperatura.
Quer utilizar componentes dinâmicos em uma página web? Tem sempre a opção de utilizar Web Components para isolar o código de obtenção dos dados do website de fato. Tudo rodando de forma nativa, e olha só, sem DOM virtual, nem perda de performance, ou websites inteiros sendo construidos com base nas APIs do JavaScript.
Em um projeto recente que venho ajudando um grupo pequeno de desenvolvedores a fazer, propus que seria uma boa utilizar React, já que iria "facilitar o trabalho" e ajudar a entregar as tarefas "mais rápido". No entanto, foi completamente o oposto. Meu desenvolvedor parceiro não sabia utilizar React direito, e isso só estava atrasando o projeto.
Com medo de voltar a estaca zero, e ter que voltar a usar JavaScript puro, eu tentei manter o React. Mas realmente, nós não precisávamos dele. Minha mente estava tão "suja" com todo o marketing voltado a essa biblioteca que eu não estava considerando a opção melhor e mais simples para o projeto no momento.
Vocês já tiveram algo que leram, ou viram, que deu um certo click mental? Algo que fez com que um certo preconceito interno seja rebatido? Para mim isso foi o site Vanilla JS. Não me lembro ao certo como o encontrei, mas depois de ler eu realmente acreditei que tinha uma framework chamada Vanilla JS. A minha expressão sorridente logo se tornou confusa ao tentar baixar o arquivo e ver que ele tinha... 0 bytes de tamanho?
Como pode uma framework não ter nada em seu código? A menos que seja uma piada. Pasmos ou não, ela realmente é um piada feita pela comunidade do JavaScript em resposta à alta crescente de frameworks e bibliotecas que tentam reinventar a roda. Foi a partir deste momento que eu comecei a reconsiderar o uso do JavaScript "Vanilla" nos meus projetos, afinal ele já tem tudo o que é preciso.
E talvez aqui que algumas pessoas possam discordar de mim. Para que eu preciso de um estado em um componente, opcionalmente tendo que criar um "registro" fora do ambiente do React, para armazenar um dado, que pode ser um boolean, um inteiro, uma string, o que for. Sim, ele traz a facilidade de isolar os dados, mas para que isolar tudo?
Obrigar o componente pai a distribuir um dado para o componente filho tudo para manter a filosofia que a biblioteca carrega não me parece certo. Por que não apenas um querySelector seguido da propriedade e a função para alterar o valor? Cada elemento na página já é por si só um elemento carregado na memória. Para que uma cópia, ocupando mais memória, em pró de uma filosofia que só atrasa o seu projeto?
Certas frameworks e bibliotecas são boas, mas para projetos complexos, que demandam um trabalho mais extensivo dos dados, como uma dashboard ou um painel completo que requer um certo dinamismo, coisa que pode ser complicada de se alcançar com o JavaScript puro.
Blogs, sites de receita, calculadoras online, documentações, artigos, sites de notícia...
Nenhum deles precisa de todo esse dinamismo e isolamento de dados, existem outras formas de se fazer isso sem utilizar código que enche o cliente de JavaScript. Muitos falam de PHP como uma linguagem ruim, mas a filosofia dela é interessante, trazer dinamismo à página sem que o cliente seja o responsável a renderizar ela.
Não irei abandonar essas ferramentas, nem digo para vocês pararem de estudar elas. Elas são úteis e muito utilizadas no mercado de trabalho, que por si só já um ambiente complexo, mas até mesmo em empresas existem páginas e websites que não precisam ser feitos desta maneira. É só abrir a mente e você vai perceber.