O que é babel?

Afinal, o que é babel? Babel, babel.js ou ainda 6to5 (seu antigo nome) é a principal ferramenta para pré-processar JavaScript. 

O termo do nosso Dicionário Tech é um velho conhecido do desenvolvedor Front-end. Isso porque o recurso facilita a vida do developer, que pode ganhar tempo na conversão de códigos novos para antigos. 

Saiba mais detalhes neste conteúdo e aproveite para se aperfeiçoar no desenvolvimento Front-end. 

Definição 

O babel é um transpilador JavaScript. Quando você tem um código ES2015, que é a versão atual de JavaScript, deve utilizar o transpilador para converter o código novo e gerar, assim, um novo código em ES5, que é uma versão antiga do JavaScript

Essa mudança de código torna-o compreensível para o navegador, permitindo a continuidade dos trabalhos. 

Entre as suas vantagens estão ter código aberto e ser multiplataforma, permitindo assim o acesso fácil de todo desenvolvedor que precisa fazer essa alteração. 

Criação 

O babel.js foi lançado em 2014 pelo desenvolvedor australiano, Sebastian McKenzie. Detalhe: ele tinha apenas 17 anos quando criou a ferramenta. 

Ele viu que as atualizações do JavaScript não rodavam em todos os navegadores. Foi então que começou a trabalhar em um projeto com base no que viu no Traceur, que era um compilador do Google.  

Assim, McKenzie conseguiu escrever novos códigos fonte novos em versões compatíveis aos navegadores antigos. 

Esse processo de transpilação, portanto, se dá em três principais passos, como Parser, Traverse e Generate. Para saber todos os fluxos, clique aqui

Funcionalidades 

Entre as funcionalidades do que é babel você pode encontrar: 

  • Sintaxe de transformação;
  • Recursos Polyfill;
  • Transformações de código fonte.

Uma das desvantagens do babel é que o código transpilado aumenta de tamanho em relação ao original. Enfim, é bom conferir algumas vantagens para decidir usá-lo: 

  • é compatível com os recursos recém adicionados ao JS;
  • pode ser usado em qualquer navegador; 
  • pode ser usado em grandes projetos; 
  • dá para usá-lo juntamente com Webpack, Flow, React, TypeScript, entre outros; 
  • funciona bem com a sintaxe React JSX;
  • possui suporte para plugins, polyfills e babel-cli;
  • permite debugar com facilidade.

Diferença entre transpilador e compilador 

Você viu o que é babel e que ele é um transpilador. Enfim, qual a diferença entre transpilador e compilador? Confira: 

  • transpilador: ferramenta que lê o código fonte escrito em uma linguagem de programação e o produz um código equivalente, com o mesmo nível de abstração. 
  • compilador: recurso que possibilita traduzir uma linguagem de médio ou alto nível para uma linguagem de nível mais baixo.

Conclusão 

Para concluir o termo do dicionário tech da Coodesh, o desenvolvedor Front-end pode pesquisar outros assuntos relacionados à área no nosso blog, como escolas de Front-end React.js, mercado para Front-end Vue.js e muito mais.  

Aproveite para conferir outros termos do desenvolvimento aqui. 

Inscreva-se gratuitamente na Coodesh para ter acesso às vagas de emprego para profissionais de tecnologia e participar de testes técnicos e psicológicos.

Confira 20 podcasts para desenvolvedores e comece a seguir

Cursos de .NET Core e C#: onde encontrar as melhores escolas