DEV Community

Cover image for Frameworks mudam. JavaScript continua.
Camila Rody
Camila Rody

Posted on

Frameworks mudam. JavaScript continua.

Quanto mais estudo React e Vue, mais percebo que a discussão entre frameworks costuma receber muito mais atenção do que os fundamentos que realmente sustentam essas ferramentas.

É comum encontrar debates sobre qual framework possui melhor performance, qual oferece a melhor experiência para desenvolvedores ou qual ecossistema é mais completo. Embora essas discussões sejam relevantes, elas frequentemente ignoram um fato importante: React e Vue são apenas abstrações construídas sobre JavaScript.

Quando observamos as APIs que utilizamos diariamente, percebemos que grande parte delas existe para encapsular conceitos fundamentais da linguagem.

Quando utilizamos useMemo no React ou computed no Vue, estamos lidando com mecanismos de cache, rastreamento de dependências e retenção de estado através de closures. O framework oferece uma interface amigável, mas os princípios continuam sendo os mesmos.

Da mesma forma, useCallback não realiza nenhuma otimização mágica. Ele existe para preservar referências de funções entre renderizações. Para compreender seu comportamento, é necessário entender closures, referências em memória e comparação de dependências.

O mesmo raciocínio se aplica a watch no Vue e useEffect no React. Apesar das diferenças de implementação, ambos dependem de conceitos como dependency tracking, agendamento de execução e funcionamento do Event Loop.

Até mesmo os mecanismos de gerenciamento de estado seguem essa lógica. APIs como useState, ref e reactive mudam a forma como interagimos com o estado, mas continuam fundamentadas em conceitos como observabilidade, reatividade, mutabilidade controlada e sincronização de dados.

Quando saímos do universo dos frameworks e observamos o comportamento assíncrono das aplicações, a situação é semelhante.

Promises e async/await tornaram a programação assíncrona mais intuitiva, mas continuam dependendo dos mesmos mecanismos que sempre existiram: Call Stack, Event Loop, Callback Queue, Microtasks e Macrotasks.

Os frameworks evoluem.

As APIs mudam.

Mas os fundamentos permanecem.

E é justamente por isso que me preocupa a forma como muitos desenvolvedores estão se relacionando com a Inteligência Artificial.

A IA trouxe ganhos extraordinários de produtividade. Hoje conseguimos gerar componentes, hooks, composables, testes, documentações e até arquiteturas completas em poucos segundos. Isso é algo impressionante e extremamente valioso.

O problema surge quando a velocidade passa a substituir o entendimento.

Vejo cada vez mais desenvolvedores utilizando React, Vue, ferramentas de IA e até sistemas baseados em agentes sem compreender os conceitos fundamentais que sustentam essas tecnologias.

Conceitos como closures, escopo léxico, Event Loop, hoisting, prototypes, gerenciamento de memória, garbage collection e diferenças entre passagem por valor e passagem por referência acabam ficando em segundo plano.

E essa questão não se limita ao JavaScript.

Também percebo uma perda gradual de interesse por temas como arquitetura de software, boas práticas, padrões de projeto, princípios SOLID, separação de responsabilidades e tomada de decisão técnica.

A consequência não aparece imediatamente.

As aplicações continuam funcionando.

As tarefas continuam sendo entregues.

Mas, ao longo do tempo, torna-se mais difícil questionar soluções, identificar problemas arquiteturais, compreender gargalos de performance ou adaptar sistemas para novos cenários.

A IA pode acelerar a implementação.

Pode sugerir soluções.

Pode explicar conceitos.

Mas ela não substitui o processo de construção do conhecimento.

Conhecimento terceirizado não é conhecimento adquirido.

Por isso acredito que a melhor forma de utilizar IA não é apenas pedir respostas, mas utilizá-la como uma ferramenta de aprendizado. Questionar decisões, explorar alternativas, entender trade-offs e aprofundar conceitos continua sendo fundamental para qualquer engenheiro de software.

React é uma excelente ferramenta.

Vue também.

A Inteligência Artificial certamente é uma das maiores revoluções da nossa área.

Mas nenhuma dessas tecnologias elimina a necessidade de compreender os fundamentos.

Porque, no final das contas, frameworks mudam.

Ferramentas mudam.

Modelos de IA mudam.

Mas os princípios que sustentam a engenharia de software continuam sendo a base sobre a qual tudo é construído.

Top comments (0)