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:
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.
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: