blank

Conheça o Deno: O sucessor do Node.js

Conheça o Deno: O sucessor do Node.js

17 de maio de 2020 0 Por Ramos de Souza Janones
Powered by Rock Convert

Deno, será o sucesso do Node.js? Neste artigo procuramos conhecer e ver as diferenças, vantagens de desvantagens entre oDeno e o Node.js.

Origem

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.

Conhecendo o Deno

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

Leia também:  
blank

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.
LEIA TAMBÉM:  Javascript - Diferença entre as funções var name = function() e function name()?

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.
LEIA TAMBÉM:  React Native Do Zero Ao Profissional: crie apps para Android e IOS

Comparação com Node.js

  • Deno não usa npm

– Ele usa módulos referenciados como URLs ou caminhos de arquivo

  • O Deno não usa o package.json em seu algoritmo de resolução de módulo.
  • Todas as ações assíncronas em Deno retornam uma promise. Assim, o Deno fornece APIs diferentes do Node.
  • O Deno requer permissões explícitas para acesso a arquivos, redes e ambientes.
  • Deno sempre morre por erros não capturados.
  • Usa “ES Modules” e não oferece suporte a require (). Módulos de terceiros são importados via URLs:

import * como log de “https://deno.land/std/log/mod.ts”;

Como vender Software - Seja desktop, web ou MobilePowered by Rock Convert

Se você quiser saber mais sobre o assunto, vou deixar um vídeo do Ryan falando sobre “arrependimentos” do Node e os links do Github e manual do Deno.

https://www.youtube.com/watch?v=M3BM9TB-8yA

Mais sobre o Deno

Github — https://github.com/denoland/deno

Manual — https://deno.land/manual#introduction

Fontes:

Deno 1.0: What you need to know — https://blog.logrocket.com/deno-1-0-what-you-need-to-know/

10 Things I Regret About Node.js — Ryan Dahl — JSConf EU — https://www.youtube.com/watch?v=M3BM9TB-8yA

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

VOCÊ ESTÁ NAS CATEGORIAS: » MundoJS » Node

 

Powered by Rock Convert
Siga os bons!
Últimos posts por Ramos de Souza Janones (exibir todos)
vote
Article Rating
LEIA TAMBÉM:  Como descobrir se uma cor hexadecimal é escura ou clara?