Executando verificação de segurança...
2
uriel
3 min de leitura ·

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/

Carregando publicação patrocinada...
1

Acredito que essa abordagem irá sofrer dos mesmos problemas do deno e bun, devido a maior vantagem do ecosistema nodejs hoje que são as bibliotecas npm que mesmo com uma camada de compatibilidade ainda tem uma dificil adoção pelos demais runtimes já que coisas como CommonJS e coisas que foram desenvolvidas durante anos no nodejs é uma grande jornada para conseguir se adaptar á 13 anos de desenvolvimento não é uma tarefa facil e tambem convencer as pessoas a utilizar algo novo é bem complexo, apesar desses porens curti a proposta de mais um runtime pois irá esquentar mais ainda esse mundo da programação