Front End

24 abr, 2017

O ECMAScript 6 e o futuro do JavaScript

Publicidade

Seja muito bem-vindo a uma nova era na história do JavaScript. Há muitos anos que a linguagem não ganhava modificações e funcionalidades novas relevantes, mas isso mudou com a chegada da nova versão da especificação ECMAScript.

O ECMAScript (ES) é a especificação da linguagem de script que o JavaScript implementa, ou seja, é a descrição formal e estruturada de uma linguagem de script, sendo padronizada pela Ecma International – associação criada em 1961 dedicada à padronização de sistemas de informação e comunicação – na especificação ECMA-262. No dia 17 de junho de 2015, foi definida a sexta edição da especificação, a ES6 (também chamada de ECMAScript 2015).

Diferentemente das edições anteriores, o ES6 trouxe a maior mudança para a linguagem JavaScript desde a sua criação, há 20 anos. O principal objetivo da nova versão especificação foi tornar a linguagem mais flexível, enxuta e fácil de se aprender e trabalhar, tornando-a mais próxima a outras linguagens orientadas a objeto, como Java e Python.

Dentre as principais mudanças, temos:

  • Criação de novos tipos de dados (Map, WeakMap, Set, WeakSet);
  • Novas maneiras de iterar objetos e coleções;
  • Declaração de variáveis com let e const;
  • Modularização e estrutura de classes;
  • Geradores e símbolos;
  • Operadores rest e spread.

Nos últimos anos, o JavaScript ganhou muita força na comunidade de desenvolvedores através do “grande boom” do ecossistema das tecnologias Node.js e npm. Desde então, a flexibilidade da linguagem tem sido usada a favor não somente do lado do cliente (nos navegadores), mas também do lado do servidor, algo impensável até alguns anos atrás. Tudo isso fez com que não somente a comunidade, mas também grandes empresas de tecnologia como o Facebook, reconhecessem a força da linguagem e finalmente a levasse a sério.

E não faltam evidências que comprovam isso. A adoção e a manutenção de projetos open source nunca foram tão grandes. O GitHub – atualmente o maior site de hospedagem de projetos git na nuvem, onde reside a maior parte dos maiores projetos open source do mundo, como Docker, npm, ElasticSearch – divulgou um gráfico de popularidade de linguagens [1]. Note que o JavaScript tem estado em primeiro lugar desde 2012:

Popularidade das linguagens ao longo dos anos

Esse interesse na linguagem se refletiu na criação de uma imensa diversidade de bibliotecas e frameworks. Alguns exemplos mais famosos que têm tido grande aceitação na comunidade e no mercado:

  • React: Biblioteca criada pela equipe do Facebook para criação de componentes;
  • React Native: Framework para criação de aplicativos mobile usando o React;
  • Angular 2: Framework MVC mantido pelo Google;
  • js: Biblioteca para criação de componentes;
  • Meteor: Framework para criação de aplicações web singlepage;
  • Electron: Framework para criação de aplicações desktop multiplataforma.

E com a grande adoção do JavaScript nos projetos, a maior parte dos navegadores – e outras tecnologias que implementam a especificação – hoje já dá suporte praticamente completo para todas as funcionalidades do ES6, sem a necessidade da utilização de tradutores como o Babel. É possível conferir o status de compatibilidade no EcmaScript 6 – Compatibility Table [2]:

Outra prova da grande adoção da linguagem e suas alterações é o Radar Tecnológico da ThoughtWorks. O Radar é o resultado das discussões do conselho consultivo de tecnologia da empresa, que se reúne regularmente para debater a estratégia global de tecnologia da empresa e as tendências tecnológicas que têm impacto significativo na indústria.

Na edição 2016 [3], a maior parte das tecnologias que apareceram como destaque na categoria de Linguagens e Frameworks são tecnologias JavaScript, como Ember.js, React.js, Redux e React Native.

Radar tecnológico da ThoughtWorks, onde o JavaScript tem destaque como base das tecnologias

E as evoluções não param por aí. Para que a linguagem não pare novamente no tempo, a Ecma Internacional se comprometeu a lançar uma nova versão da especificação todos os anos. Desde o ano passado, a sétima edição da especificação está sendo elaborada e promete trazer ainda mais melhorias, tais como:

  • Novas operações em Array;
  • Operador de exponenciação (**);
  • Decoradores;
  • Propriedades estáticas de classe;
  • Async-await.

Nunca houve melhor momento para aprender e trabalhar com a linguagem JavaScript. Para entender todas as melhorias da especificação e aprender como utilizá-las, não deixe de conferir o livro “Entendendo o ECMAScript 6 – Entre de cabeça no futuro do JavaScript”. Nele, você encontrará não somente quais são as modificações, mas o porquê de elas terem sido desenvolvidas, quais problemas foram resolvidos e como utilizá-las em situações reais. O livro acompanha uma série de exercícios e está sempre atualizado com as novidades da ECMAScript.

E você, por que ainda não está escrevendo JavaScript?

Referências:

  1. https://github.com/blog/2047-language-trends-on-github
  2. http://kangax.github.io/compat-table/es6/
  3. https://www.thoughtworks.com/pt/radar/languages-and-frameworks