Lembrando para os mais novos na área que o Node não é uma linguagem, e sim o runtime que executa o JavaScript.
E é apenas um deles, temos outros, mas nenhum conseguiu chegar perto de tirar o reinado do Node.
E o assunto recente é o Bun, que veio com a intensão mudar isso e ser um substituto superior.
Também é o primeiro que tem um emoji como logo…
Inclusive a Vercel já disponibilizou suporte para o gerenciador de pacotes dele, que promete ser 25x mais rápido que o npm.
A Vercel utiliza outro runtime baseado em edge (que são aplicações serverless que rodam na região do cloud mais perto do usuário e com isso menor latência), e esse runtime usa menos recursos, tem o cold start, o tempo de inicialização, instantâneo, mas não suporta todas APIs do Node.
É essa busca por desempenho se torna maior até pelo recente crescimento das aplicações Server Side, aonde parte do código do front é executado no servidor e o cliente recebe menos JavaScript, já que muita já vem renderizada. Diferente das aplicações SPA, onde o cliente baixa e executa todo JavaScript. Então o Runtime passa a ser também importante para o front-end.
Ecossistema JavaScript
Antes de falar se haverá o fim do Node, quero fazer alguns comentários como anda a comunidade JavaScript.
Não há muito padrões, principalmente no front.
Quem nunca viu memes de que todo dia nasce uma biblioteca nova e de milhões de pacotes vindo ao executar npm install.
Isso é ruim porque traz uma fragmentação do ecossistema e é a maior crítica a linguagem, mas que não é um problema da linguagem e sim da comunidade.
Apesar disso, o JavaScript continua sendo uma boa linguagem e com nível de performance até melhor que outras grandes para algumas tarefas e com ótimas bibliotecas.
Segundo ranking do GitHub em 2022 tivemos o JavaScript como linguagem mais usada e TypeScript como quarta.
Typescript
É por falar de Typescript, vira e mexe alguém vem o criticar e defender o JavaScript puro. O DHH, criado do Ruby on Rails removeu o TypeScript do Turbo 8, mesmo a maioria da comunidade tendo votado contra, incluindo o segundo maior contribuidor, mas ele fez o merge e pronto.
Mais ou menos no estilo “não querem aprovar meu PR? Eu mesmo aprovo”.
Alguns ainda defendem seguir o caminho que o Svelte teve e substituir o TypeScript pelo JSDoc para tipagem, que é uma anotação, mas não tem o bloqueio de compilação.
Eu lembro quando o Angular 2 chegou forçando o TypeScript, pessoal falou que era loucura, mas no fim virou padrão de mercado. A maioria dos grandes projetos que eu tenho conhecimento hoje são nele.
O fim do Node chegou?
O bun não chega apenas querendo substituir o Node, mas traz uma DX (Experiência do desenvolvedor) melhor, vindo embutido várias ferramentas. Sendo não apenas um runtime, mas um toolkit de ferramentas, ajudando a eliminar um dos problemas que citei acima do ecossistema do JavaScript, que é a grande quantidade de bibliotecas necessárias para executar um projeto.
Além disso a Oven, empresa por trás do desenvolvimento do bun, recebeu um aporte de 7 milhões de dólares e está contratando desenvolvedores em Zig e C++ para trabalhar full time no Bun.
Apesar disso tudo, quando uma empresa vai escolher a stack de um novo projeto, ela não diz apenas, “vamos ver o que está no hype ou qual é a mais rápida?”. É também levado em consideração estabilidade e tamanho da comunidade.
Node tem mais de 12 anos e está na versão 20, o que passa confiança no mercado. Tem projetos que começam com tudo, mas acabam com pouca adoção e ficando sem suporte depois.
O Bun acabou de receber a sua primeira versão estável. Isso não quer dizer que ninguém vai usar, mas que não haverá, por agora, uma adoção em massa e nem matará o Node, que continua firme e forte, pelo menos por um tempo.
Inclusive foi questionado pelo Trev Norris, importante colaborador do Node, se o Bun irá conseguir manter toda essa performance ao implementar ferramentas de monitoramento.
Mas já podemos esperar vagas pedindo 5 anos de experiência em Bun. (Aviso de ironia)
Me siga para mais conteúdo desse tipo.
LinkedIn
YouTube
Instagram
X
Top comments (0)