Deno: conheça o suposto substituto do Node.js \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 15 Horas 

 48 Min 

 36 Seg 

   Tempo restante da oferta: 15 48 36 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Deno: conheça o suposto substituto do Node.js  [ Node ](https://www.treinaweb.com.br/blog/categoria/node-js) 

# Deno: conheça o suposto substituto do Node.js

 Conheça o Deno, ambiente de execução de JavaScript desenvolvido pelo criador do Node.js e que pode substituí-lo num futuro próximo.

 [ Akira Hanashiro ](https://www.treinaweb.com.br/blog/autor/akira-hanashiro) 7 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/05/14141423/node-vs-deno.png)  

Olá Web Developers! Acabou de ser lançada a versão 1.0 do Deno. Vamos conhecer esse suposto substituto do [Node.js](https://www.treinaweb.com.br/blog/node-js-por-que-voce-deve-conhecer-essa-tecnologia/ "Node.js").

## O que é Deno?

O `Deno`, assim como o `Node.js`, é um ambiente de execução de [JavaScript](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-javascript/ "JavaScript"). Ele foi feito pelo próprio criador do Node utilizando a linguagem [Rust](https://www.treinaweb.com.br/blog/o-que-e-rust/ "Rust"). Assim como o Node, Deno também utiliza o V8, engine de JavaScript do Google Chrome.

## Por que outro interpretador de JavaScript?

Ryan Dahl, criador do Node, deu uma palestra em junho de 2018 na JSConf intitulada [10 Coisas que eu lamento pelo Node.js](https://www.youtube.com/watch?v=M3BM9TB-8yA "10 Coisas que eu lamento pelo Node.js") (10 Things I Regret About Node.js no original). Por mais que o Node tenha várias vantagens e seja muito usado, seu criador admitiu vários problemas.

Aliás, o Node.js foi criado em 2009, época em que o JavaScript nem tinha `Promises` ou `async/await` e nosso modo de trabalho, técnicas e boas práticas eram outras. O mundo todo era diferente. Lembre-se que sites eram feitos com tabelas, não usávamos smartphones, não havia YouTubers, etc.

Não só o Node.js possui problemas, como também várias linguagens, bibliotecas e frameworks. Todos nós, conforme vamos evoluindo na carreira de programador, aprendemos coisas novas e percebemos que algo que fizemos há algum tempo pode ser feito de maneira bem melhor. Além disso, a evolução de várias ferramentas e tecnologias também nos permite criar coisas melhores.

Isto é, com os aprendizados que Ryan Dahl teve em sua carreira, os desafios enfrentados com o Node e a evolução do JavaScript, ele pensou em criar algo novo. Logo após falar dos problemas do Node, Ryan apresentou seu novo trabalho, o Deno, que na época tinha apenas 1 mês de existência.

O Deno não apenas possui melhorias em coisas que foram consideradas ruins no Node, como o `node_modules`, como também possui várias novidades que o Node não tem e que são importantes.

## Deno é mais seguro

Qualquer código no Node tem o poder de acessar coisas como sua rede e HD. Por outro lado, no Deno o seu código é executado em uma sandbox segura por padrão.

Ou seja, se você não der permissão, um código malicioso não poderá acessar suas informações. Isso se assemelha ao JavaScript nos navegadores, que apenas consegue acessar coisas como a câmera se o usuário der permissão.

[  ![SonarQube -  Análise de Qualidade de Código](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/sonarqube.svg)   Curso SonarQube - Análise de Qualidade de Código Conhecer o curso ](https://www.treinaweb.com.br/curso/sonarqube-analise-de-qualidade-de-codigo)

## TypeScript Integrado

O Deno não interpreta apenas JavaScript. Ele também interpreta [TypeScript](https://www.treinaweb.com.br/blog/precisamos-falar-sobre-o-typescript/ "TypeScript") sem que você precise instalar nem configurar nada.

Essa decisão foi baseada no crescimento do uso do TypeScript em grandes projetos que precisam lidar com complexas lógicas de negócio. Tudo no Deno foi feito com o TypeScript em mente.

## Deno não precisa de NPM ou node\_modules

Projetos criados com o Node utilizam o NPM para [gerenciar suas dependências](https://www.treinaweb.com.br/blog/o-que-e-gerenciador-de-dependencias/ "gerenciar suas dependências"). Os pacotes baixados ficam guardados na pasta `node_modules`, que facilmente chega a tamanhos enormes.

Assim como navegadores, o Deno sabe como buscar códigos externos. Ou seja, podemos importar o código de um arquivo passando seu endereço. Veja abaixo um exemplo da criação de um simples servidor que utiliza um arquivo TypeScript externo.

```javascript
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" });
}

```

## Promises em todo lugar

O JavaScript é famoso por sua natureza assíncrona. Porém, o Node foi criado antes do JavaScript possuir coisas como Promises e [Async/Await](https://www.treinaweb.com.br/blog/usando-o-async-await-do-javascript/ "Async/Await").

Como resultado da evolução do JavaScript em união da linguagem Rust, o Deno tem um moderno sistema baseado em Promises. Isso nos permite trabalhar mais facilmente com código assícrono, além de evitar os problemas que o Node tinha em seu sistema.

[  ![Laravel - Criando aplicações dinâmicas com Livewire](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/laravel.svg)   Curso Laravel - Criando aplicações dinâmicas com Livewire Conhecer o curso ](https://www.treinaweb.com.br/curso/laravel-criando-aplicacoes-dinamicas-com-livewire)

## Deno é Compatível com Node?

Ainda que Node e Deno sejam interpretadores de JavaScript, o Deno não é totalmente compatível com os pacotes do seu irmão mais velho e outras ferramentas.

No entanto, uma [camada de compatibilidade](https://deno.land/std/node/ "camada de compatibilidade") está sendo criada, mas ainda está longe de ser concluída.

## Já posso trocar o Node.js pelo Deno?

A princípio, sim. O lançamento da versão `1.0` do Deno indica que ele já está em uma fase estável.

Ainda assim, lembre-se que o Deno está sendo desenvolvido há pouco mais de 2 anos. Ele não é um fork do Node, foi feito totalmente do zero. Por outro lado, o Node já possui mais de uma década de vida. Ou seja, o Node é mais maduro e possui uma comunidade bem maior.

Portanto, o mais indicado é sempre analisar as necessidades do seu projeto para poder escolher a tecnologia a ser usada.

- [ #JavaScript ](https://www.treinaweb.com.br/blog/tag/javascript)
- [ #NodeJS ](https://www.treinaweb.com.br/blog/tag/nodejs)
- [ #Deno ](https://www.treinaweb.com.br/blog/tag/deno)

Autor

 ![Akira Hanashiro](//secure.gravatar.com/avatar/d107ca73135bc62770a67ebbfe4cf80d?d=mm)

## Akira Hanashiro

 Graduado em Análise e Desenvolvimento de Sistemas, Pós-graduado em Projetos e Desenvolvimento de Aplicações Web e MBA em Machine Learning. Especializado em Front End e curte desenvolvimento de jogos. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/akira-hanashiro)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/03/01133925/javascript-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     9 anos atrás

    ##  [ O que se pode fazer com JavaScript hoje em dia? ](https://www.treinaweb.com.br/blog/o-que-se-pode-fazer-com-javascript-hoje-em-dia) 

     Conheça as várias áreas onde podemos trabalhar com JavaScript além do navegador.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/5-bons-motivos-para-estudar-javascript-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     6 anos atrás

    ##  [ 5 bons motivos para estudar JavaScript ](https://www.treinaweb.com.br/blog/5-bons-motivos-para-estudar-javascript) 

     O JavaScript é uma linguagem que está praticamente em todos os lugares por causa de sua flexibilidade e adaptabilidade à diversos ambientes. Vamos conferir nesse artigo 5 bons motivos para você estudar essa linguagem.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/affordances-400x280.jpg)  [ Acessibilidade e User Experience (UX) ](https://www.treinaweb.com.br/blog/categoria/acessibilidade-e-user-experience-ux) 

     10 anos atrás

    ##  [ Affordances: Desenhando interfaces intuitivas ](https://www.treinaweb.com.br/blog/affordances-desenhando-interfaces-intuitivas) 

     Neste post vamos abordar 4 tipos de affordances que são aplicados em interfaces digitais e o impacto que elas podem causar na usabilidade de uma aplicação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/11/o-que-e-o-spring-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ O que é o Spring? ](https://www.treinaweb.com.br/blog/o-que-e-o-spring) 

     Veja neste artigo o que é o Spring.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/04/24110903/O-QUE-E-REACT-400x280.jpg)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     7 anos atrás

    ##  [ Conheça o React, biblioteca para desenvolvimento Web ](https://www.treinaweb.com.br/blog/conheca-o-react-biblioteca-para-desenvolvimento-web) 

     Veja neste artigo o que é o React, biblioteca JavaScript para desenvolvimento web.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/conhecendo-o-next-js-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Conhecendo o Next.js ](https://www.treinaweb.com.br/blog/conhecendo-o-next-js) 

     Veja neste artigo o que é o Next.js e suas principais características.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/06153353/manipulando-listas-python-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     7 anos atrás

    ##  [ Manipulando listas no Python ](https://www.treinaweb.com.br/blog/manipulando-listas-no-python) 

     Veremos neste artigo como manipular listas no Python.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/05091425/estrutura-dados-python-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     7 anos atrás

    ##  [ Principais Estruturas de Dados no Python ](https://www.treinaweb.com.br/blog/principais-estruturas-de-dados-no-python) 

     No Python, as principais estruturas são as Listas, Sets, Dicionários e Tuplas e neste artigo veremos as diferenças e principais características de cada uma.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/02/06142705/django-flask-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     8 anos atrás

    ##  [ Django ou Flask, eis a questão. ](https://www.treinaweb.com.br/blog/django-ou-flask-eis-a-questao) 

     Então você vai criar sua aplicação web com o Python, certo? Mas, me diz aí, qual framework você vai utilizar? Django ou Flask? Bom, vamos ver neste artigo qual problema cada um deles resolve.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/ponteiros-400x280.jpg)  [ C ](https://www.treinaweb.com.br/blog/categoria/c) 

     10 anos atrás

    ##  [ Ponteiros em C, uma abordagem básica e inicial ](https://www.treinaweb.com.br/blog/ponteiros-em-c-uma-abordagem-basica-e-inicial) 

     Você sabe o que são ponteiros? Nesse artigo temos uma abordagem introdutória e essencial para que você entenda de uma vez por todas.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/11/O-QUE-E-HTML-400x280.jpg)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     4 anos atrás

    ##  [ O que é HTML? ](https://www.treinaweb.com.br/blog/o-que-e-html) 

     No artigo de hoje, será abordado o tema HTML, nele irá conter desde sua história, quem o criou e como deve ser montada sua estrutura.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/08/o-que-e-a-linguagem-de-programacao-ruby-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     6 anos atrás

    ##  [ O que é a Linguagem de Programação Ruby? ](https://www.treinaweb.com.br/blog/o-que-e-a-linguagem-de-programacao-ruby) 

     Veja neste artigo o que é a linguagem de programação Ruby.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **15h 48min 36s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
