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

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

Conteúdo educacional

  • 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.

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

    by Leandro Guimarães,

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

    Ia ser bom se a vida fosse assim, né? :)

    Sem dúvida nenhuma o respaldo do Ryan é uma grande chave pro software. Pelo menos pro barulho de lançamento. Mas tenho a impressão que não é a única. De uma forma geral, a comunidade (e veja, falo em comunidade não em mercado corporativo) não aceita algo só porque alguém fez. Se for algo que não funcione bem, ainda que criado por uma pessoa com uma boa "reputação", tenho a sensação que o negócio não decola. Você vai nessa linha também ou tem uma outra perspectiva?

  • Fragmentação

    by Isaias Lima,

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

    Todo dia nasce um framework diferente para o Javascript, fica impossível acompanhar todos. Podemos escolher um hoje, mas amanhã ele vai ficar obsoleto porque o criador mudou de ideia e está dando atenção à um outro "filho" e teremos um sistema defasado em pouco tempo.

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