Front End

1 ago, 2014

Por que você não está vivendo em harmonia com o ES6?

Publicidade

Quando fiquei sabendo pela primeira vez da próxima versão do JavaScript – conhecida como ECMAScript 6 (ES6, para resumir) ou JavaScript Harmony – fiquei muito animado com todos os novos recursos que receberíamos para simplificar e melhorar a nossa vida como desenvolvedores de JavaScript… Até que pensei sobre isso por mais de cinco segundos e percebi que os meus filhos provavelmente já estariam todos crescidos e se mudado de casa antes que eu não precisasse dar suporte para quaisquer dos navegadores que não suportam ES6, então pode ser que eu nunca comece a usá-lo realmente. Estou descobrindo que ES6 pode ser mais útil agora do que eu pensava que seria.

Node.js é harmonioso

O Node.js executa seu código JavaScript na ferramenta V8 desenvolvida pelo Google. Como a ferramenta V8 tem algumas características do ES6 habilitadas, somos capazes de executar nosso código Node.js usando os recursos do ES6 que estão disponíveis atualmente nessa ferramenta. Infelizmente, ainda não há um monte de funcionalidades implementadas:

  • Escopo de bloco
  • Semântica ES6 para typeof
  • Let e const
  • Map e WeakMap
  • Declaração de módulo
  • Protótipo Proxy

Para poder usar as gracinhas do ES6, você precisa executar o node com algumas flags. Alex Young, do DailyJS, descreve como usar ES6 em Node.js e, apesar de o artigo já estar ficando bem velho, o conteúdo parece bastante consistente com o estado atual do Node.js e V8.

Traceur Transpiling

O Traceur é um projeto do Google que compila o código ES6 em código ES5. Ele também vem com um pequeno arquivo de 23KB (minificado, não compactado com zip) que oferece todo o código utilitário que você precisa para conseguir que o código compilado faça todas as coisas legais que o ES6 faz. Durante o desenvolvimento, você pode incluir um arquivo muito maior no lugar, que irá compilar o código no navegador para que você possa fazer mudanças rápidas, sem a necessidade de compilar novamente antes de atualizar o navegador.

Atualmente, o Traceur suporta muito mais recursos do ES6 que os que estão disponíveis em qualquer um dos mecanismos JavaScript, o que o torna uma ótima opção se você realmente quiser usar a maioria das coisas que o ES6 tem para oferecer.

Para compilar o código, você pode usar o compilador Traceur (disponível através de NPM com npm install -g traceur na linha de comando) diretamente ou você pode configurar Grunt ou Gulp para fazer isso. É muito mais fácil iniciar o compilador Traceur, por isso é bom experimentar para ver se você gosta dele, mas uma vez que esteja usando o Traceur com consistência em seus projetos, é bem melhor que você tenha um task runner para lidar com isso para você, porque ele pode vigiar seus arquivos por mudanças e automaticamente compilar qualquer momento que você salvar um arquivo ES6.

Conclusão

Desculpe por não entrar em muitos detalhes sobre o uso de Traceur, mas vou fazer um tutorial mais aprofundado sobre isso em breve. Você tem que ser capaz de perceber, porém, que o ES6 está pronto para uso agora, então não venha sentar e choramingar por aí que você nunca vai ter a chance de usá-lo em um projeto de verdade.

***

Artigo traduzido pela Redação iMasters com autorização do autor. Publicado originalmente em http://www.joezimjs.com/javascript/arent-living-harmony-es6-now/