A terceira era do JavaScript
(swyx.io)A afirmação é que as mudanças no JS vêm em ciclos de 10 anos, e que 2020 marca o início da terceira era
1ª 1997~2007 início da linguagem
2ª 2009~2019 expansão da linguagem: Node, npm, ES5...
3ª 2020~ começa a eliminar suposições legadas e a reduzir as camadas entre ferramentas
→ remoção da dependência de CommonJS
→ a suposição de que ferramentas JS precisam ser feitas apenas em JS: TypeScript, Deno, Relay
→ transição de "Functional Core, Imperative Shell" para "Systems Core, Scripting Shell"
→ redução de camadas: o Deno incorpora ferramentas de teste/formatação/lint/build
→ várias nuvens que não existiam 10 anos atrás: de Lambda a Glitch, Repl.it, Condesandbox, Github Codespaces, Stackblitz
→ o Svelte coloca no compiler desde animações até state management
→ React se tornando um meta-framework e integração cliente/servidor
→ Vue está criando um servidor de desenvolvimento unbundler com o projeto Vite
As ferramentas JS de terceira geração são
-
mais rápidas
-
ESM first
-
Collapsed Layers: uma única ferramenta faz bem várias tarefas
-
Typesafe-er: código TypeScript pode ser usado em qualquer lugar sem configuração especial
-
Secure-er: em dependências e permissões etc.
-
Polyglot: uso conjunto de várias linguagens
-
Neo-Isomorphic: código JS é executado primeiro no servidor durante o build ou antes de chegar ao cliente
-
Como resultado de tudo isso, passará a oferecer uma experiência melhor para desenvolvedores (builds mais rápidos, tooling padrão) e para usuários (bundles menores, entrega mais rápida de funcionalidades)
-
A última transformação do JavaScript, de Site Scripting Toy para Full Application Platform
-
O JavaScript vai morrer?
Se a previsão de Gary Bernhardt de que a vida útil do JS vai até 2035 estiver correta, então a 3ª geração será a última do JavaScript.
Brendan Eich mudou de ideia: de achar que o JS poderia se tornar uma "Universal Virtual Machine" para dizer que "WASM vai ocupar esse lugar".
Se os dois estiverem certos, então "não temos esperança" (no original, We're in the Endgame now = agora estamos na fase final)
4 comentários
É bom ver isto junto com JavaScript: The First 20 Years https://pt.news.hada.io/topic?id=1714.
JS é uma linguagem permissiva demais... no fim das contas, espero que o WASM acabe se tornando o padrão dominante.
Será que o WASM e o JS não vão evoluir de forma complementar?
Parece que a hegemonia do JS vai continuar, mas a perspectiva é mais pessimista do que eu esperava. Será que é por causa do surgimento do TS..