BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias O sucessor do Node.js? Conheça o Deno 1.0

O sucessor do Node.js? Conheça o Deno 1.0

Desde o fim de 2018, Ryan Dahl, criador do Node.js, trabalha na construção de um novo runtime JavaScript: o Deno. Apesar do trocadilho com o nome (no-de x de-no) e de ter como integrante do time desenvolvimento o criador do Node.js, o Deno vem sendo construindo como uma implementação completamente nova e não como um fork do node.

Em um blog post publicado ontem, Ryan Dahl, Bert Belder, and Bartek Iwańczuk, oficializaram o lançamento do Deno 1.0 e explicaram as razões que levaram à criação do novo runtime JavaScript e também compararam as principais novidades desta tecnologia com o Node.js.

Segundo o post, mesmo o Node.js sendo uma plataforma de sucesso e tendo atingido uma grande adoção, grande parte de seu projeto se deu em 2009, período onde o ecossistema JavaScript era bem diferente do cenário atual.

Além disso, aplicações escritas em Node.js foram acumulando uma série de desafios relacionados, como apresenta Ryan Dahl na palestra "10 coisas que eu me arrependo do Node.js".

"Deno is a new runtime for executing JavaScript and TypeScript outside of the web browser."

A proposta do Deno é prover uma ferramenta standalone que permita a criação de uma solução rápida para funcionalidades complexas. Sua abordagem é, e sempre será, de ser um único arquivo executável. O código abaixo é um exemplo de tal simplicidade, sendo capaz de disponibilizar em pouquíssimas linhas um servidor HTTP funcional que pode ser executado através do comando deno run example.js.

import { serve } from "https://deno.land/std@0.50.0/http/server.ts";

for await (const req of serve({ port: 8000 })) {
  req.respond({ body: "Hello World\n" });
}

Dentre as principais novidades que o Deno trás, são destacadas:

  • Suporte a TypeScript sem necessidade de nenhuma outra solução ou ferramenta adicional.
  • Melhor integração com Rust, tornando mais fácil o mapeamento de Futures de APIs Rust em Promessas do JavaScript.

A publicação deixa claro que o Deno não é um fork do Node.js e sim uma implementação totalmente nova. Da mesma forma, a publicação deixa claro que o Deno vem sendo desenvolvido há 2 anos, enquanto o Node.js tem mais de uma década de evolução. Dessa forma, existem limitações no Deno que podem ser impeditivas no desenvolvimento de um novo software. As limitações destacadas pelo post original são:

  • Uma queda na performance de processamento de requisições HTTP, quando comparada com a performance de uma aplicação em Node.js.
  • Um gargalo na compilação do código, uma vez que o Deno utiliza o compilador TypeScript da Microsoft para gerar o código JavaScript. Contudo, os autores acreditam que o compilador deve ser reescrito em Rust para resolver essa questão e estão a procura de pessoas interessadas em contribuir com isso.
  • Uma interface ainda em desenvolvimento e instável para a criação de extensões customizadas do runtime Deno.

O post completo, com maiores detalhes sobre a versão 1.0 bem como funcionalidades específicas, pode ser encontrado neste link.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT