39 pontos por GN⁺ 2025-05-29 | 10 comentários | Compartilhar no WhatsApp
  • Neste ano, no 30º aniversário do JavaScript, a Deno fez um breve resumo de sua trajetória
  • O JavaScript começou como uma linguagem de script desenvolvida em 10 dias e hoje se consolidou como a linguagem mais popular do mundo
  • Veja alguns momentos históricos importantes que mostram como o JavaScript evoluiu e para onde está caminhando

A brief history of JavaScript (1994-2025)

[1994]

  • Lançamento do Netscape Navigator 1.0

    • Em dezembro de 1994, foi lançado o Netscape Navigator 1.0
    • Sua velocidade e interface gráfica, superiores às dos navegadores anteriores, foram fatores de popularidade
    • Com suporte ao HTML 2.0, criou-se a base para que o JavaScript viesse a rodar nesse navegador

[1995]

  • Nascimento do JavaScript

    • Em maio de 1995, Brendan Eich desenvolveu o rascunho inicial do JavaScript em 10 dias
    • Foi criado em resposta ao pedido por uma linguagem de script com sintaxe semelhante à do então popular Java
    • O nome foi definido como JavaScript por razões de marketing
  • Anúncio oficial da Netscape e da Sun

    • Em dezembro de 1995, o JavaScript foi apresentado como uma “linguagem leve de script orientada a objetos para a web”
    • O anúncio contou com o apoio de 28 empresas de tecnologia e posicionou a linguagem também para ambientes corporativos

[1996]

  • Resposta da Microsoft

    • Em março de 1996, a Microsoft incluiu o JScript no Internet Explorer 3
    • O JScript podia se integrar ao ActiveX para controlar aplicativos como o Excel
  • Lançamento do Navigator 2.0 com JavaScript 1.0

    • No mesmo março, o JavaScript 1.0 fez sua estreia oficial no Netscape Navigator 2.0
    • O conceito de DOM (Document Object Model) começou nesse momento

[1997]

  • Proposta de padronização na ECMA

    • Em junho de 1997, a Netscape propôs a padronização do JavaScript na ECMA International
    • O objetivo era resolver problemas de compatibilidade com o JScript da Microsoft
    • Foi criada a especificação ECMA-262, e o nome definido foi ECMAScript
    • O comitê TC39 foi formado para gerir a evolução da linguagem

[1998]

  • Início do projeto Mozilla

    • Em janeiro de 1998, para responder ao monopólio da Microsoft no mercado de navegadores, a Netscape abriu seu código-fonte
    • O projeto recebeu o nome de “Mozilla” e mais tarde levaria a resultados importantes de código aberto, como Firefox e Rust
  • Anúncio do ECMAScript 2

    • Em setembro de 1998, foi lançado oficialmente o ECMAScript 2
    • Não trouxe novos recursos, mas teve como foco principal a consistência da especificação e uma documentação mais refinada

[1999]

  • IE5 e introdução do XMLHttpRequest

    • Em março de 1999, o IE5 introduziu o XMLHttpRequest
    • Isso se tornaria a base da tecnologia AJAX
  • Surgimento do JSDoc

    • Em abril de 1999, foi introduzido o JSDoc para documentação de JavaScript
    • Influenciado pelo Javadoc do Java, ele ainda é usado como ferramenta de geração de documentação
  • Anúncio do ECMAScript 3

    • Em dezembro de 1999, foi lançado oficialmente o ECMAScript 3
    • Com adições como do-while, expressões regulares, métodos de string e tratamento de exceções, criou a base para o crescimento efetivo da linguagem
    • Depois disso, foi usado por mais de 10 anos como padrão de fato do JavaScript na web

[2001]

  • Primeira aparição do JSON

    • A primeira mensagem JSON foi transmitida
    • Em scripts dentro de páginas web, usou-se uma estrutura de objeto no formato { to, do, text }
    • Como formato leve de mensagens baseado em JavaScript, mais tarde se tornou padrão na comunicação de APIs web

[2002]

  • Introdução do JSLint

    • Douglas Crockford apresentou o JSLint, ferramenta de análise estática de sintaxe
    • O objetivo era melhorar a qualidade do código JavaScript, o que mais tarde se conectaria ao seu livro “JavaScript: The Good Parts”
  • Lançamento do Phoenix 0.1, precursor do Firefox

    • A comunidade Mozilla desenvolveu o Phoenix, um navegador leve, em reação ao peso da linha de produtos existente
    • Trouxe recursos inovadores como navegação por abas e bloqueio de pop-ups → mais tarde evoluiu para o Firefox

[2003]

  • Anúncio do Safari e do WebKit pela Apple

    • A introdução do navegador Safari e do motor WebKit ajudou o Mac a reduzir sua dependência da Microsoft
    • Mais tarde, isso serviria de base para o Mobile Safari no iPhone

[2004]

  • Gmail e AJAX

    • Com a interface do Gmail baseada em AJAX, foi definido um novo padrão de UX para web apps
    • Troca de dados com o servidor sem recarregar a página inteira → início da era Web 2.0

[2005]

  • Consolidação do termo AJAX

    • Jesse James Garrett formalizou o conceito de “AJAX”
    • A combinação de JavaScript + XML consolidou uma estrutura de comunicação assíncrona com o servidor
  • Surgimento do Mozilla DevMo → evolução para MDN

    • Teve início o MDN, hub de documentação de JavaScript baseado em padrões
    • Passou a oferecer uma referência unificada para documentos fragmentados de suporte a navegadores

[2006]

  • Surgimento do jQuery

    • John Resig iniciou o projeto jQuery
    • Contribuiu fortemente para resolver problemas de compatibilidade entre navegadores em manipulação de DOM, eventos, AJAX e mais
    • Sua API concisa levou a uma disseminação explosiva

[2007]

  • Lançamento do iPhone e ausência de suporte a Flash

    • A Apple anunciou o iPhone, e o Safari não tinha suporte a Flash
    • Isso acelerou a transição, no ambiente mobile, para conteúdos baseados em HTML + JavaScript

[2008]

  • Encerramento oficial do Netscape Navigator

    • A AOL encerrou o desenvolvimento do Netscape, marcando o fim da primeira guerra dos navegadores
    • O domínio do IE pela Microsoft levaria a processos antitruste
  • Publicação de JavaScript: The Good Parts

    • O livro de Crockford ajudou a reavaliar o JavaScript como linguagem de desenvolvimento profissional
  • Anúncio do Google Chrome e do motor V8

    • Junto com o lançamento do Chrome, foi apresentado o motor JavaScript V8
    • Compilação JIT e otimização do garbage collection trouxeram grande ganho de desempenho
    • Depois disso, abriu-se a base para expansões server-side como o Node.js

[2009]

  • Surgimento do CommonJS

    • Houve uma tentativa de padronizar o uso de código JS modularizado fora do navegador, como em servidores
    • Isso mais tarde se tornou a base da estrutura de módulos do ecossistema Node.js
  • Início do projeto Node.js

    • Ryan Dahl começou a desenvolver o Node.js
    • Isso permitiu executar JavaScript em ambiente de servidor, expandindo-o como linguagem full stack
  • Aquisição da Sun Microsystems pela Oracle

    • Junto com Java, a marca registrada JavaScript também foi transferida para a Oracle
    • Isso gerou questões de trademark em torno do nome JavaScript
  • Surgimento do Express.js

    • Primeiro commit do Express.js, um framework web baseado em Node.js
    • Propôs uma estrutura de middleware voltada à construção de APIs REST
  • Anúncio do ECMAScript 5

    • Recursos como strict mode, suporte a JSON e novos métodos de Array organizaram a base do JavaScript moderno
  • Surgimento do CoffeeScript

    • Experimentou melhorias de sintaxe antes do ES6, como sintaxe concisa, arrow functions e desestruturação
    • Mais tarde, influenciou indiretamente a evolução da sintaxe do JavaScript

[2010]

  • Lançamento do npm 1.0

    • O npm, gerenciador de pacotes para JavaScript, foi lançado oficialmente, iniciando a padronização do compartilhamento e reutilização de código
    • Hoje, tornou-se o maior registro de código aberto do mundo, com mais de 3 milhões de pacotes
  • Lançamento do WebStorm 1.0

    • A JetBrains lançou a primeira IDE dedicada a JavaScript
    • Oferecia de forma integrada recursos de análise estática, detecção de erros, autocompletar e depuração
  • Surgimento do AngularJS & Backbone.js

    • Início do boom dos frameworks SPA
    • Angular era centrado em declaratividade/injeção de dependência, enquanto Backbone era centrado em proceduralidade/concisão
    • A partir desse período, passou a surgir o fenômeno de aparecimento e desaparecimento frequente de frameworks ("Framework churn")

[2011]

  • Port do Node.js para Windows

    • Graças à colaboração entre Joyent e Microsoft, o Node.js passou a funcionar também no Windows
    • Desenvolvimento da biblioteca libuv → forneceu uma plataforma unificada de I/O assíncrona
    • Foi o início da trajetória open source da MS, que depois se estenderia a TypeScript, VSCode, Azure e outras estratégias

[2012]

  • Surgimento do Webpack

    • Como ferramenta de bundling de assets web, expandiu o sistema de módulos para o cliente
    • Depois foi adotado como sistema central de build em React, Angular, Vue e outros
  • Lançamento do TypeScript 0.8

    • A Microsoft apresentou um superset de JavaScript com tipagem estática
    • Ofereceu uma estrutura adequada para projetos de grande escala e depois influenciou o padrão ES

[2013]

  • Início do Atom Shell, precursor do Electron

    • Tornou possível desenvolver aplicativos desktop com HTML/CSS/JS
    • Ao ser adotado por Slack, Visual Studio Code e outros, mudou a forma de desenvolvimento desktop
  • Lançamento do asm.js

    • Permitiu computação de alto desempenho no navegador ao converter código C/C++ em JS
    • Depois evoluiu para WebAssembly
  • Definição da stack MEAN

    • Nome dado à combinação MongoDB + Express + Angular + Node.js
    • Disseminação do desenvolvimento full stack baseado em JavaScript
  • Lançamento do React

    • Depois de uso interno no Facebook, foi lançado como open source
    • Consolidou o paradigma de desenvolvimento de UI baseada em componentes
  • Início do desenvolvimento do ESLint

    • Ferramenta de lint extensível iniciada por Nicholas C. Zakas
    • Espalhou-se rapidamente por oferecer mais possibilidades de customização do que os linters existentes
  • Lançamento do Gulp

    • Diferente do Grunt, centrado em configuração, era uma ferramenta de build baseada em código e streaming
    • Formou uma tendência de automatização de tarefas de build com JavaScript

[2014]

  • Lançamento do Vue.js

    • Framework de UI progressivo apresentado por Evan You
    • Fez um meio-termo entre a UI declarativa do React e os recursos de template do Angular
  • Aquisição do Express.js

    • A StrongLoop adquiriu o Express.js → depois foi adquirida pela IBM
    • Questionamentos sobre a independência da comunidade levaram ao surgimento de frameworks posteriores, como o Koa
  • Início do Babel.js (antigo 6to5)

    • Tornou possível executar a sintaxe mais recente de JS em navegadores antigos
    • Consolidou-se como o transpiler padrão de todos os frameworks
  • Lançamento do Meteor 1.0

    • Ganhou destaque como ferramenta para desenvolvimento de webapps em tempo real e de stack única
    • Depois influenciou tecnologias em tempo real como GraphQL e Firebase
  • Lançamento do Flow pelo Facebook

    • Ferramenta de verificação de tipos estáticos para detectar erros de JS antecipadamente
    • Depois, seu uso caiu com o crescimento do TypeScript
  • Anúncio do AWS Lambda

    • Introduziu a computação serverless baseada em JavaScript(Node.js)
    • Tornou possível implementar backends sem gerenciar infraestrutura por meio da execução de funções orientadas a eventos
  • Fork do io.js

    • A comunidade criou o fork io.js em reação ao ritmo lento de releases do Node.js pela Joyent
    • Depois, em 2015, foi reintegrado ao Node.js

[2015]

  • Surgimento do termo Jamstack

    • Ênfase na combinação JavaScript + API + Markup
    • Com a valorização de SSR e SSG, houve a ascensão dos geradores de sites estáticos
  • Fundação da Node.js Foundation

    • Reorganização da governança da comunidade, incluindo a integração com o io.js
    • Participação de grandes empresas como IBM e Microsoft
  • Lançamento do GraphQL

    • Linguagem de consulta para APIs desenvolvida pelo Facebook
    • Caracteriza-se por abordagem declarativa, design fortemente tipado e minimização de requisições ao servidor
  • Lançamento do Redux

    • Contêiner de estado previsível para gerenciamento de estado no React
    • Depois também foi adotado em Vue, Angular e outros
  • Anúncio do WebAssembly

    • Tornou possível executar código de alto desempenho, como C/C++, no navegador
    • Como sucessor do asm.js, consolidou-se como ambiente de execução universal da web
  • Lançamento do Atom 1.0

    • Editor de texto hackeável baseado em Electron criado pelo GitHub
    • Influenciou diretamente o VSCode
  • Anúncio oficial do ECMAScript 6 (ES2015)

    • Grandes melhorias de sintaxe como import/export, let/const, Promise e fetch
    • Versão que se tornou a base do JavaScript moderno
  • Integração entre Node.js e io.js

    • Com o anúncio do Node.js v4.0, os dois projetos foram reunificados em um só
    • Estabelecimento de suporte de longo prazo (LTS) e de uma política de versionamento significativa

[2016]

  • Microsoft open source o motor Chakra

    • Abertura do código-fonte do Chakra, motor de JS do navegador Edge
    • Recebeu atenção da comunidade de desenvolvedores, mas depois foi descontinuado diante da predominância do V8
  • Incidente do Leftpad

    • A remoção do módulo left-pad causou um grande colapso de dependências de pacotes
    • Serviu de gatilho para mudanças na política do npm
  • Lançamento do VSCode 1.0

    • IDE leve baseada em Electron e TypeScript
    • Ganhou popularidade rapidamente por sua velocidade, extensibilidade e excelente suporte a JS/TS
  • Anúncio do ECMAScript 2016

    • Pequena atualização com recursos como o operador ** e array.includes()
  • Anúncio do Angular2

    • Arquitetura de componentes baseada em TypeScript completamente diferente do AngularJS
    • Com compilação AOT e reforço de segurança, surgiu como opção para o mercado enterprise
  • Lançamento do Next.js 1.0

    • Framework de renderização no lado do servidor baseado em React
    • Impulsionou a padronização do desenvolvimento full stack com React voltado para SEO e performance

[2017]

  • Commit inicial da proposta Temporal

    • Proposta da API Temporal para resolver os problemas do objeto Date
    • Em 2021, foi aprovada para inclusão no padrão ECMAScript, mas atualmente só é suportada em alguns ambientes
  • Lançamento do Prettier 1.0

    • Formatador que aplica automaticamente um estilo de código consistente
    • Também influenciou o surgimento de formatadores como o Black do Python e os do Rust
  • Lançamento do ECMAScript 2017

    • Introduziu recursos modernos de JS como async/await, Object.entries() e Object.values()
    • Generalização do uso de fetch()
  • Lançamento do Yarn

    • Gerenciador de pacotes para resolver a lentidão e os conflitos do npm
    • Introduziu recursos inovadores como yarn.lock, instalação paralela e cache
  • Lançamento do Cloudflare Workers

    • Início da era da edge computing
    • Possibilitou que código serverless fosse executado de forma distribuída no mundo todo

[2018]

  • Lançamento do Puppeteer 1.0

    • Ferramenta de automação de navegador baseada em Chrome headless
    • Ofereceu simplicidade em comparação ao Selenium com uma API amigável para Node.js
  • Lançamento do TensorFlow.js

    • Tornou possível executar machine learning no navegador
    • Implementação de apps de IA em tempo real com base em WebGL/WebGPU
  • Smooshgate

    • Devido a um conflito de nomenclatura com Array.flatten, o nome foi alterado para flat()
    • A origem do problema foi uma incompatibilidade com o MooTools
  • Ryan Dahl anuncia o Deno

    • Com uma retrospectiva sobre os problemas do Node, fez a apresentação inicial do runtime Deno
  • Lançamento do ECMAScript 2018

    • Introdução de promise.finally(), async iteration e rest/spread de objetos

[2019]

  • Criação da OpenJS Foundation

    • Integração da Node.js Foundation com a JavaScript Foundation
    • Integração da governança de projetos de servidor e cliente
  • Node.js v12: início do suporte experimental a ESM

    • Introdução experimental de módulos ES por meio de .mjs, type: module e outros
  • ECMAScript 2019 lançado

    • Adicionados Object.fromEntries(), String.prototype.trimStart() e outros
  • Node.js v13.2: ESM oficialmente estabilizado

[2020]

  • SpaceX Dragon, ida ao espaço com JS

    • Uso de JavaScript na interface de tela sensível ao toque baseada no Chrome
  • Lançamento do Deno 1.0

    • Abordagem inovadora com suporte nativo a TypeScript, modelo de permissões, HTTP import e mais
  • Encerramento oficial do Adobe Flash

    • Consolidação de um ambiente multimídia web centrado em JS

[2022]

  • Deno entra para o TC39

    • Declaração de participação na padronização do JavaScript
  • Fim do suporte ao IE11

    • Conclusão da transição para um ecossistema web baseado em padrões
  • ECMAScript 2022 anunciado

    • Adicionados top-level await, blocos estáticos de classe e outros

[2023]

  • Lançamento do Bun 1.0

    • Runtime substituto ultrarrápido do Node.js implementado em Zig
    • Compatível com npm, com ferramentas de build integradas

[2024]

  • Escolhido o mascote Rocket Turtle do Node.js

    • Personagem final definido por meio de um concurso da comunidade
  • ECMAScript 2024 lançado

    • Reforço no tratamento de Unicode com toWellFormed() e outros
  • Lançamento do registro JSR

    • Registro dedicado a módulos modernos de ECMAScript da equipe do Deno
    • Compatível com TypeScript, Deno, Bun e Cloudflare Workers
  • Início do movimento FreeJavaScript

    • Campanha pedindo que a Oracle devolva a marca JavaScript
    • Assinada por figuras importantes como Brendan Eich
  • Lançamento do Deno 2

    • Melhoria na compatibilidade com Node e até campanha publicitária, marcando a intensificação da guerra dos runtimes

[2025]

  • Anunciado o port de TypeScript para Go

    • Projeto tsgo em andamento com meta de desempenho mais de 10 vezes superior
    • Adoção oficial prevista a partir do TypeScript 7.0
  • Anunciada a abertura do código do Copilot Chat

    • Microsoft anuncia estratégia para transformar o VSCode em um IDE de desenvolvimento de IA open source

[Encerramento]

  • O JavaScript começou como uma simples linguagem de script e evoluiu para uma linguagem de desenvolvimento de propósito geral que abrange frontend web, backend, machine learning, aeroespacial e IDEs de desenvolvimento de IA
  • A comunidade open source, a evolução contínua da linguagem e a inovação nos runtimes impulsionaram esse crescimento, e no futuro ele deve ir além da web e se expandir para áreas ainda mais amplas com ferramentas mais rápidas e mais inteligentes

10 comentários

 
princox 2025-12-17

Agora virou um padrão de implementação, não mais uma linguagem... querendo ou não, acho que acabou se tornando uma sintaxe que precisa carregar até o legado.

 
dkang 2025-05-31

Obrigado pelo ótimo material.

 
dontdieych 2025-05-31

A versão 3 do IE era praticamente um lixo. O Netscape 3 era quase o padrão na época, mas quando o IE 4 saiu a situação se inverteu. Além disso, o IE 4 vinha instalado por padrão no Windows.

O Netscape 4 até saiu, mas não era bom o suficiente para virar o jogo. Então a participação do IE continuou aumentando.

Quando o Netscape virou open source, surgiu o projeto Mozilla e saiu a versão beta do Phoenix; foi aí que os usuários começaram a sentir que algo realmente tinha mudado. Eu inclusive. Por causa de problemas de marca registrada, o nome mudou para Firefox, e foi a partir daí que o Firefox passou a se firmar como um concorrente de verdade do IE.

O nome deve ter mudado assim: Phoenix -> Firebird -> Firefox. Provavelmente foi por já existir um banco de dados chamado Firebird.

 
aer0700 2025-05-30

Estou lendo tudo de uma vez e, no meio, comecei a ficar emocionado.
Parece algo super recente, mas ao mesmo tempo também parece muito antigo...

 
tsboard 2025-05-29

O texto original está extremamente bem organizado. Até os screenshots e os códigos nostálgicos...! Espero que o Deno também evolua ainda mais. haha

 
tested 2025-05-29

Parece que a evolução do JavaScript se divide em antes e depois do lançamento do Node.js.

 
bobross0 2025-05-29

Concordo.

 
dlehals2 2025-05-29

Junto com a Java, a marca registrada JavaScript também foi transferida para a Oracle. Essa parte eu descobri agora.

 
spp00 2025-05-30

Originalmente, a marca registrada de JS pertencia à Sun, mas quando a Sun foi adquirida, a marca registrada de JS (assim como o MySQL etc.) também foi transferida para a Oracle.

 
xguru 2025-05-29

O post original tem muitas imagens e vários trechos de código, então vale a pena conferir também.