BT

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

Favoritos

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

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Comentários da comunidade

  • A mágica não está no software, mas no criador

    by Desenvolvedor Matteus Barbosa /

    Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!

    O criador, Ryan Dahl, é a grande sacada por trás da coisa. Ele não depende do sucesso do software, mas o sucesso do software depende dele. Hoje ele dorme, e amanhã de manhã lança um software muito melhor do que o que ele mesmo fez, ontem.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Seu cadastro no InfoQ está atualizado? Poderia rever suas informações?

Nota: se você alterar seu email, receberá uma mensagem de confirmação

Nome da empresa:
Cargo/papel na empresa:
Tamanho da empresa:
País:
Estado:
Você vai receber um email para validação do novo endereço. Esta janela pop-up fechará em instantes.