Afinal, Javascript e ECMAScript são a mesma coisa?

Alexandre Malavasi
Training Center
Published in
6 min readNov 15, 2017

O Javascript foi criado em 1995 por Brendan Eich juntamente com as primeiras versões dos navegadores de internet. Atualmente, a linguagem Javascript é a mais utilizada no mundo, por estar presente em praticamente todos os projetos Web, independente da linguagem de servidor. Mas, dada a quantidade de frameworks que existem e a diversidade de siglas que surgem a todo o momento, que tal estabelecermos uma linha temporal do Javascript e seus principais frameworks para melhorar nosso entendimento?

O criador de Javascript

Antes de tudo, acho mais do que justo começar falando um pouco de seu criador. A linguagem Javascript foi criada por Brandon Eich, um programador norte-americano extremamente visionário, que teve esta ideia no longínquo ano de 1995, muito antes da internet se popularizar massivamente em todo o mundo e sem imaginarmos que a linguagem se tornaria tão popular entre os desenvolvedores.

Brendan Eich

Nascido em 1961 em Pittsburgh no estado da Pennsylvania , trabalhou como programador, arquiteto e especialista de sistemas operacionais em diversas empresas, até que em abril de 1995 foi convidado para trabalhar na Netscape Corporation, onde iniciou e alavancou o desenvolvimento do Javascript. Três anos depois, Brandon tornou-se cofundador da, hoje famosíssima, Mozilla Corporation, onde continuou contribuindo para a evolução da linguagem.

Mas, você sabia que a linguagem que popularmente conhecemos como Javascript não possui mais esse nome desde 1997? Ela se chama, há 20 anos, ECMAScript. Nomenclatura que você já deve ter ouvido muito por aí. Mas, como assim? Vamos entender daqui há pouco.

Início

A linguagem Javascript teve seu primeiro protótipo criado em apenas 10 dias sendo batizada com o nome Mocha e, quando teve seu primeiro lançamento oficial em setembro de 1995, juntamente com a versão 2.0 do navegador Netscape, foi chamada de LiveScript.

Porém, em dezembro do mesmo ano seu nome foi alterado para Javascript. Então, a fama de que o Javascript e seus frameworks carregam de mudarem e passarem por atualizações constantes se justifica há mais de 20 anos! Em menos de um ano a linguagem teve três novas versões e mudou de nome três vezes. Está bem, e onde entra o ECMAScript nesta história toda?

ECMA International

Se você programa em Javascript já deve ter ouvido falar da nomenclatura ECMAScript. Qual a diferença entre ECMAScript e Javascript?

Antes que o Javascript se tornasse popular, para que a linguagem evoluísse obedecendo a determinados padrões e normativas, os criadores do Javascript se associaram ao ECMA (European Computer Manufactures Association) em 1996. Como o nome Javascript já havia sido patenteado pela Sun Microsystems (atual Oracle), optou-se por se definir um novo nome à linguagem utilizando a junção das palavras ECMA e Javascript, surgindo então o ECMAScript.

Mas, como o nome Javascript ficou popular na comunidade, a linguagem é chamada por este nome até hoje, sendo o ECMAScript referenciado apenas para se determinar a versão da linguagem?

Atualmente, padrões e normativas referentes à linguagem é mantida pela ECMA-262, grupo criado na ECMA para a padronização do Javascript e conta com participação de grandes empresas de tecnologia como Microsoft, Google, dentre outras.

Após a adesão ao ECMA, o ECMAScript passou por diversas versões:

  • ECMAScript 1: lançada oficialmente em 1997, representa a primeira versão da linguagem criada por Brandon, mas com padrões e normativas definidos após a adesão ao ECMA.
  • ECMAScript 2: criada em agosto de 1997 para se adequar à ISO/IEC 16262.
  • ECMAScript 3: criada em dezembro de 1999, esta versão possui melhorias importantes para a comunidade, permitindo implementações de laços de repetição do-while, tratamento de exceções, dentre outros recursos.
  • ECMAScript 4: concluída em 2008, esta versão teve seu desenvolvimento baseado em ML (Meta Language), uma linguagem de programação funcional mais utilizada em ambientes de pesquisa acadêmica. Devido à grande quantidade de mudanças em relação ao ECMAScript 3, o que tornaria esta versão totalmente disruptiva em relação às anteriores, a mesma foi abandonada pelo comitê técnico da ECMA-262, optando-se por se dar continuidade evolutiva à versão anterior.
  • ECMAScript 5: após o impasse gerado com a versão 4, foi lançada em 2012 oficialmente a versão 5 do ECMAscript possuindo recursos valiosos como o suporte a JSON, métodos mais avançados de manipulação de arrays, getters e setters, dentre outros.
  • ECMAScript 6: lançada em 2015, atribui recursos avançados à linguagem como reflection, collections, binary data, dentre outros.
  • ECMAScript 7: também conhecida como ECMAScript 2016 (ano da sua conclusão), possui como operadores exponenciais, dentre outros.

É importante ressaltar que algumas versões mais antigas dos navegadores de internet não dão suporte ao ECMAScript 6 e 7, possuindo problemas de compatibilidade.

Bom, após este breve histórico a respeito do ECMAScript, vamos aos muitos frameworks existentes no mercado?

Frameworks e bibliotecas

Para melhor atendimento das exigências cada vez maiores do mercado de desenvolvimento Web e para a maior aderência aos requisitos de aplicações Web modernas de maneira ágil, produtiva e segura desde a criação do Javascript, as comunidades desenvolveram uma série de frameworks e bibliotecas baseados na linguagem para atender às mais diversas demandas.

Quem trabalha com desenvolvimento de aplicações Web há um certo tempo já deve ter ouvido falar de mais de 20 frameworks distintos e a cada ano surgem muitos outros.

Mas, a pergunta que eu faço é: será necessário aprender todos eles? A resposta é NÃO. Cada um deles foi criado para resolver ou atender uma demanda específica e muitos deles são concorrentes ou similares. Então, é sempre melhor se focar em frameworks e bibliotecas que atenderão melhor os requisitos dos projetos que você está trabalhando ou que terão mais chances de sobreviver no mercado por longo tempo, pelo engajamento da comunidade em atualizações e pela sua alta utilização.

Dito isto, segue abaixo em ordem cronológica os 19 principais frameworks e bibliotecas Javascript que surgiram nos últimos anos, com brevíssimas observações:

Lista das principais bibliotecas JS do mercado

Além destes há muitos outros e, quando você terminar de ler este artigo, muito provavelmente já terá surgido mais algum. Destes citados, baseado em minha experiência pessoal, os que tem sido mais utilizados no Brasil são o Node.js (que não é um framework ou biblioteca e sim um runtime em JS), Angular e Vue.

Não citei a linguagem Typescript aqui porque o artigo ficou grande, merecendo um artigo futuro exclusivo pra ele da a sua importância.

Espero ter ajudado a melhorar um pouco sua compreensão a respeito de todas estas siglas, bibliotecas e frameworks em torno do nosso tão amado Javascript. Até mais.

Meu Livro

Fico muito feliz em anunciar que tive a felicidade de escrever meu primeiro livro. É um conteúdo muito bem detalhado sobre Design Patterns, orientação a objeto, princípios SOLID, .NET 5 e C# no geral. Você pode adquirir o livro no link abaixo:

Referências

Javascript: 20 anos de construção da Web:
https://imasters.com.br/front-end/javascript/javascript-20-anos-de-historia-e-construcao-da-web/?trace=1519021197

Javascript: uma breve história da linguagem: http://shipit.resultadosdigitais.com.br/blog/javascript-1-uma-breve-historia-da-linguagem/

Top 23 Best Free JavaScript Frameworks for Web Developers 2017
https://colorlib.com/wp/javascript-frameworks/

AngularJS: o que é e por que utilizar
http://blog.algaworks.com/o-que-e-angularjs/

Aurelia: the next Angular?
https://blog.hellojs.org/aurelia-the-next-angular-b7039dbb4221

EmberJS para Iniciantes — Parte 1
https://tableless.com.br/serie-emberjs-iniciante-parte1/

Keystone
http://keystonejs.com/

Knockout JS
http://knockoutjs.com/

Meteor JS
https://www.meteor.com/

Mithril JS
https://mithril.js.org/

Mobx
https://mobx.js.org/

Polymer
https://www.polymer-project.org

React
https://reactjs.org/

Vue JS Brasl
http://www.vuejs-brasil.com.br/

PhantomJS
http://phantomjs.org/

--

--

Alexandre Malavasi
Training Center

Microsoft MVP | MCP | MCTS | MCPD | ITIL | .NET | MBA | MTAC | Technical Leader | Consultant | .NET Developer