A (nova) linguagem JavaScript 6

Pesquisa recente realizada pelo portal InfoQ indicou que a linguagem mais usada em 2016 no desenvolvimento de aplicações Web é o Javascript. Para alguns especialistas em Java EE e .NET, isso parece ser uma surpresa. Para outros, que já acompanham a evolução do Javascript há alguns anos, isso não é novidade.

Nos últimos anos, a plataforma Javascript cresceu e se popularizou através de um rico conjunto de aceleradores. Exemplos incluem:

  • Bibliotecas de componentes gráficos tais como o jQuery, ExtJS ou Telerik;
  • Frameworks MV* de organização de eventos cliente e interações com o servidor tais como o AngularJS, Ember, Backbone, AureliaJS ou KnockoutJS.
  • Linguagens como ClojureScript, TypeScript e CoffeScript e transpiladores que compilam o código dessas linguagens em código JavaScript;
  • Bibliotecas para execução de código Javascript em ambiente servidor como o Node.js, Express, Koa, Meteor ou Sails.js.
  • Ferramentas de gerenciamento de pacotes como o bower e npm.
  • Ferramentas de automação de testes como o Mocha, jasmine, Karma, Selenium ou phantom.js.
  • Ferramentas de automação de tarefas como o grunt, gulp, webpack ou sourcemap.

Oficialmente, a linguagem Javascript se chama ECMAScript e é padronizada pelo instituto europeu ECMA (http://www.ecmascript.org).  A sua última especificação, a ES6 (ES2015/ Harmony / ECMAScript 6 / ECMAScript 2015) melhorou muito no aspecto de tipagem e facilidades de manutenção. O conceito de definição formal de variáveis, constantes, escopos de variáveis, classses, exportação e importação de módulos, entre outras novidades, foram incluídas nessa especificaçao. Isso é uma excelente notícia, especialmente para desenvolvedores Java e C# acostumados a linguagens fortemente tipadas.

Para quem está começando no JavaScript 6, uma excelente cola foi publicada pelo blog  TopTal nesse sítio. Para quem está buscando uma referência rápidas de novidades, o sítio ES6-Features traz um excelente comparativo.

Finalmente, para quem quiser ume mergulho mais intenso, recomendo acessar e baixar a especificação do ECMAScript 2015, nome oficial dessa linguagem. (disponível em PDF e HTML)