banner

Vanilla Js, necessidade ou retrocesso?

escrito por Eduardo Fagundes

3 minutos de leitura

null

Em uma época onde temos frameworks para quase tudo quando se trata de desenvolvimento front-end, será que ainda é interessante aprendermos JavaScript puro?

Vanilla Js nada mais é do JavaScript puro. A brincadeira com o nome provavelmente surgiu da expressão em inglês “vanilla (alguma coisa)”, que se refere à versão mais comum ou mais simples de algo.

Em uma época onde temos frameworks para quase tudo quando se trata de desenvolvimento front-end, Vue, React, Angular, entre inúmeros outros, fica a dúvida: será que é interessante ainda hoje aprendermos e aplicarmos JavaScript puro?

Temos alguns pontos muito importantes a abordar sobre essa questão.

Hoje em dia, tornou-se comum que iniciantes no desenvolvimento web partam diretamente para algum framework, antes mesmo de aprender os conceitos básicos de JavaScript. Isso resulta em uma deficiência muito grande do conhecimento de como a linguagem funciona de fato. Com a modernização do JavaScript, ela se tornou uma linguagem completa, com suas próprias funcionalidades e paradigmas – dominá-la como um todo certamente irá diferenciar esse futuro profissional no mercado de trabalho.

O desenvolvimento em JavaScript puro pode ser um pouco assustador no início, mas ele traz consigo alguns pontos muito interessantes. Frameworks vem e vão, mas o seu conhecimento em JavaScript puro irá perdurar por muito tempo. Você saberá, por exemplo, “se virar” quando precisar de uma funcionalidade que o framework não abranja. Outro ponto muito importante é que, por mais leve que seja o framework, nada se compara, em questão de performance, a uma aplicação bem escrita em JavaScript puro.

Não me entenda mal, Frameworks não são inimigos. Ao contrário, eles auxiliam a velocidade, a simplicidade e a manutenibilidade no desenvolvimento de uma aplicação. Frameworks abstraem muito da complexidade de escrita e leitura de código por parte dos desenvolvedores, deixando o desenvolvimento de uma aplicação focada mais no objetivo do que na estrutura da aplicação. O ponto é: os frameworks front-end mais conhecidos hoje têm como base o próprio JavaScript. Então, não seria interessante da nossa parte sabermos como funciona?

Legal, então posso largar todos os frameworks e libs de lado e passar a desenvolver tudo em JavaScript puro?

Penso que não seja tão simples assim. Um bom profissional deve entender o negócio e a complexidade da aplicação a ser criada para, aí sim, basear sua escolha. Imagine-se na situação de alguém que deve criar uma aplicação grande, com diversas páginas e funcionalidades; então, você opta por desenvolver do zero com JavaScript puro. Imagine quanto tempo você gastaria desenvolvendo somente a base da aplicação, autenticação, recursos de segurança como CSRF (Cross-site request forgery), XSS (Cross site scripting), etc. Isso seria como reinventar a roda, não seria mais fácil utilizar um framework, onde tudo isso já vem praticamente “pronto”?

Por outro lado, agora, você tem como objetivo criar uma aplicação pequena, algo simples, poucas páginas e alguns formulários. Se você optar por utilizar um framework, fica com uma aplicação com muitas funcionalidades inerentes ao framework que não estão sendo utilizadas. Ou seja, você está sacrificando recursos computacionais em vão.

Em suma, tenho certeza que em algum momento da sua carreira no desenvolvimento front-end você irá precisar trabalhar e entender como funciona JavaScript puro. Nesse momento, esse conhecimento irá simplificar muito as coisas. Tenha em mente que, como já dito, você precisa entender a necessidade de aplicar um framework ou JavaScript puro, saber em que ponto é importante sacrificar performance em nome em nome da organização e rapidez de desenvolvimento, por exemplo.

Aprender JavaScript puro jamais vai ser um retrocesso. Ele é o pilar no qual se ergue toda tecnologia relevante de front-end nos dias de hoje e irá, muitas vezes, ser o seu diferencial no mercado de trabalho. Então, mantenha-se atualizado.

Compartilhe esse post: