Nem Deno nem Bun - o grande concorrente do Node será Workerd, Cloudflare's JavaScript/Wasm Runtime!
Todo mundo fala muito do Bun e do Deno.
Mas pouca gente fala do Workerd da Cloudflare!
Cloudflare Workers é uma plataforma destinada a permitir que funções sem servidor sejam executadas o mais próximo possível do usuário final. Basicamente, o próprio código sem servidor é "armazenado em cache" na rede e executado quando recebe o tipo certo de solicitação. Os Cloudflare Workers são escritos em JavaScript, em comparação com os service workers API, o que significa que eles podem usar todas as funcionalidades oferecidas pelos service workers. Eles aproveitam o motor Chrome V8 para a execução. O código do Cloudflare Workers é hospedado na vasta rede de data centers da Cloudflare ao redor do mundo.
De dentro do Cloudflare Workers saiu o Workerd.
Um tempo de execução totalmente aberto!
E que deseja ser compativel com todas as APIs da WEB e com NodeJs!
Princípios de design do Workerd:
-
Projetado para servidores, não CLIs nem GUIs.
-
Baseado em padrão: APIs integradas são baseadas em padrões de plataforma web, como fetch().
-
Nanoserviços: divida seu aplicativo em componentes desacoplados e implantáveis de forma independente como microsserviços, mas com desempenho de uma chamada de função local. Quando um nanoservice chama outro, o chamado é executado no mesmo thread e processo.
-
Implantação homogênea: em vez de implantar diferentes microsserviços em diferentes máquinas em seu cluster, implante todos os seus nanoserviços em todas as máquinas do cluster, tornando o balanceamento de carga muito mais fácil.
-
Sua configuração usa recursos em vez de namespaces globais para conectar nanoserviços entre si e recursos externos. O resultado é um código mais combinável - e imune a ataques SSRF.
-
Sempre compatível com versões anteriores: atualizar workerd para uma versão mais recente nunca quebrará seu código JavaScript. O número da versão é simplesmente uma data, correspondendo à "data de compatibilidade" máxima suportada por essa versão. Você sempre pode configurar seu trabalhador para uma data anterior e workerd emular a API como existia naquela data.
Você pode usá-lo:
- Como um servidor de aplicativos , para auto-hospedar aplicativos projetados para Cloudflare Workers.
- Como uma ferramenta de desenvolvimento, para desenvolver e testar tal código localmente.
- Como um proxy HTTP programável (para frente ou para trás), para interceptar, modificar e rotear solicitações de rede com eficiência.
AVISO: Ainda é beta. Trabalho em progresso.
Plataformas suportadas:
Em teoria, workerd deve funcionar em qualquer sistema POSIX compatível com V8.
Na prática, workerd é testado em Linux e macOS nas arquiteturas x86-64 e arm64. Em outras plataformas, você pode ter que mexer para fazer as coisas funcionarem.
Nos próximos meses, os Cloudflare Workers começarão a implementar a compatibilidade integrada com as principais APIs do Node.js como parte de um esforço para oferecer suporte a maior compatibilidade entre os tempos de execução do JavaScript.
AsyncLocalStorage, EventEmitter, Buffer, assert e partes de util já está disponível para uso no workerd.
https://blog.cloudflare.com/workers-node-js-asynclocalstorage/