Institucional

  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status
Institucional
  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status

A Alura

  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes
A Alura
  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes

Conteúdos

  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Conteúdos
  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Alura

Até 38% OFF.

Condição válida até 31/07

00HORAS
:
00MIN
:
00SEG
Comece sua evolução
Comece sua evolução
  • Home

    Escolha seu Plano

    • Plus 2438% OFF
    • Pro 2438% OFF
    • Ultra Lab 2438% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2438% OFF
    • Pro 2438% OFF
    • Ultra Lab 2438% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2438% OFF
    • Pro 2438% OFF
    • Ultra Lab 2438% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Back-end
    3. Node.JS: o que é, como funciona esse ambiente de execução JavaScript e um Guia para iniciar

    Node.JS: o que é, como funciona esse ambiente de execução JavaScript e um Guia para iniciar

    15 min15 minutos de leitura

    15 min15 minutos de leitura

    Publicado: 01/03/2023

    Última atualização: 24 de Março

    1. O que é Node.js e para que serve?
    2. A História do Node.JS
    3. Como instalar e começar a usar o Node.js no Windows, Linux e MacOS
    4. Como funciona o Node.js ou JavaScript Runtime e V8
    5. Node.js: características técnicas (assíncrono, single thread e orientado a eventos)
    6. Node.js: principais características e para que serve
    7. Node.js e módulos: como organizar e reaproveitar código
    8. Como usar o NPM no Node.js para gerenciar dependências
    9. Node.js no mercado: quem usa e quais as oportunidades
    10. Guia de Carreira Node.JS (Tech Guide)
    11. Resumo: por que aprender Node.js e próximos passos

    Cada vez mais, pessoas desenvolvedoras procuram soluções para criar aplicações escaláveis, rápidas e seguras, tanto no front-end quanto no back-end. É nesse contexto que surge o Node.js.

    A popularização dos smartphones, o uso intensivo das mídias sociais e o crescimento das soluções de IoT (Internet das Coisas) transformaram o desenvolvimento de aplicações. Como os paradigmas no desenvolvimento mudaram, pensamos cada vez mais em soluções integradas, considerando o consumo de dados e a disponibilidade de infraestrutura.

    O Node.js nasce como uma solução poderosa e barata para a criação e a manutenção de ambientes de tecnologia com altas demandas.

    Neste artigo, você vai descobrir o que é o Node.js, como ele possibilitou rodar JavaScript no servidor, suas principais características e encontrará um guia para começar a utilizá-lo em seus projetos.

    O que é Node.js e para que serve? 

    Logo oficial do Node.js, em cor preta e detalhes verdes.

    O JavaScript é uma das linguagens de programação mais utilizadas, principalmente por ser a base de diversos frameworks populares e contar com forte adesão da comunidade de desenvolvimento.

    Tradicionalmente, o JavaScript era usado para criar aplicações web interativas, rodando principalmente no Front-end (lado do cliente). Com o avanço das tecnologias web, tornou-se possível executar JavaScript no Back-end, e foi nesse contexto que surgiu o Node.js.

    Mas, afinal, o que é o Node.js? O Node.js é um ambiente de execução (runtime) para JavaScript do lado servidor (server side). Com ele, é possível criar aplicações completas, rodando diretamente no servidor, sem depender de um navegador. Em resumo, Node.js permite usar JavaScript para criar servidores web, APIs, aplicações em tempo real e muito mais.

    O que é Node.js?

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    A História do Node.JS

    O Node.js nasceu em 2009 como uma resposta às tentativas de rodar códigos JavaScript em modo server side, uma vez que a linguagem tinha como meta principal a manipulação do DOM (Document Object Model) e deixar as aplicações web mais interativas e dinâmicas.

    Soma-se a isso o fato de que pessoas desenvolvedoras de JavaScript trabalham com uma linguagem simples, interpretada e que não necessita da instalação de ferramentas complexas de desenvolvimento.

    Esses são alguns dos fatores motivadores do criador do projeto do Node.js, o engenheiro de software Ryan Dahl, responsável por esse ambiente de execução do código JavaScript fora do navegador, no lado servidor.

    Linha do tempo

    Abaixo, temos uma linha do tempo do Node.js, passando pelo seu nascimento até a atualidade:

    Linha do tempo da história do Node.js de 2009 a 2022, mostrando marcos importantes como o nascimento em 2009, Express em 2010, npm, Socket.io, versões LTS, Node.js Foundation em 2015, HTTP/2 em 2017, e Node.js 18 em 2022.

    Você pode conferir a versão acessível da linha do tempo no GitHub.

    Depois desse mergulho na história do Node.js, recomendamos o episódio #199 do Hipsters Ponto Tech, “Node.js”, que discute o impacto do software no ecossistema JavaScript:

    Node.js – Hipsters Ponto Tech #199

    spotify:7bI6ivXl6PkjVUmhvurKRb:episode

    Como instalar e começar a usar o Node.js no Windows, Linux e MacOS

    O Node.js é uma ferramenta de código aberto e gratuita. Um belo atrativo, não?! Ela também é multiplataforma, o que nos permite entregar uma solução para rodar em ambientes Windows, Linux ou MacOS, e seu interpretador é baseado no V8 da Google (vamos conferir mais detalhes sobre ele a seguir).

    Você também pode acessar o artigo completo “Como instalar o Node.js no Windows, Linux e macOS” para um passo a passo detalhado, perfeito para quem deseja aprender como usar Node.js em diferentes sistemas operacionais.

    Recomendamos a leitura deste material para que você entenda como instalar e explorar as diferentes versões do Node.js.

    Como funciona o Node.js ou JavaScript Runtime e V8

    Ilustração de um motor de carro representando metaforicamente o motor V8 JavaScript do Google Chrome usado pelo Node.js.

    O Node.js permite interpretar código JavaScript fora do navegador, funcionando de maneira similar ao ambiente de execução presente nos browsers. Quando executamos um comando em JavaScript, o Node.js interpreta esse comando e faz a sua conversão para a linguagem de máquina a ser executada pelo computador. Por isso, o Node.js também pode ser chamado de JavaScript Runtime, ou um programa de execução do JavaScript.

    • Observe a sequência de comandos JavaScript no terminal exibido abaixo:

    Terminal do Windows PowerShell, em fundo preto, exibindo uma sequência de comandos: `const nome = “André Silva”`; `const idade = 22`; `console.log(nome)` e `console.log(idade)`. Como respostas às variáveis inseridas e aos comandos `console.log`, encontram-se os dados “André Silva” e “22”.

    Terminal do Windows PowerShell, em fundo preto, exibindo uma sequência de comandos: const nome = “André Silva”; const idade = 22; console.log(nome) e console.log(idade). Como respostas às variáveis inseridas e aos comandos console.log, encontram-se os dados “André Silva” e “22”.

    Ao iniciar o Node.js pelo comando node, um processo se abre no terminal contendo um interpretador JavaScript e uma interface de linha de comando (CLI – command-line interface). É nesse ambiente que o código JavaScript será interpretado e executado. Para esse processo de interpretação, o Node.js faz uso do V8, conhecido como Chrome’s V8 JavaScript engine.

    O V8 é um poderosíssimo interpretador JavaScript desenvolvido pela Google e utilizado pelo Chrome. Ele também é conhecido como a máquina virtual do JavaScript. Foi desenvolvido usando a linguagem C++, é de código aberto e nasceu com a intenção de acelerar a execução de aplicações desenvolvidas em JavaScript.

    Por fornecer uma boa performance, várias plataformas têm adotado o Node.js como um solução viável e eficaz de tecnologia para Back-end, como o próprio Google, Netflix, entre outros.

    O motor V8 é um dos principais componentes da arquitetura do Node.JS. Leia mais sobre no artigo Arquitetura do Node.js: conheça seus componentes.

    Entendendo o motor

    É interessante apontar que existem outros 'motores' para JavaScript, como o SpiderMonkey, do Firefox, ou o JavaScriptCore (também chamado de Nitro), do Safari, mas o adotado pelo Node.js é o V8. De forma geral, o processo de funcionamento desses motores pode ser resumido nas seguintes etapas:

    1. O motor acessa o código JavaScript, que veio da leitura da tag 'script' de um arquivo HTML ou por meio do download de um arquivo JavaScript;
    2. Executa o Parser, processo de análise e conversão;
    3. Monta a AST (Árvore de Sintaxe Abstrata), um mapeamento que identifica o que cada parte do código está fazendo;
    4. E, por fim, interpreta a AST. Nesta etapa, ao interpretar a AST, o motor V8 gera bytecodes que são executados pelo interpretador Ignition. Funções chamadas com frequência (hot paths) são otimizadas e compiladas para código de máquina nativo pelo compilador TurboFan. Neste processo, ainda existe um estágio de otimização do código gerado.

    Imagine a escrita da seguinte função em Javascript:

    function soma(num1,num2) {
    return num1 + num2;
    }

    Nesse processo de análise e conversão teremos a seguinte AST:

    A imagem mostra uma árvore AST para uma função soma definida em código Javascript.

    Se você quer entender mais sobre AST e como o código é transformado: pode usar AST Explorer e colocar seu próprio código para entender como ele é transformado.

    Na imagem abaixo, temos uma abstração do processo de execução do código JavaScript pelo motor V8:

    Na imagem abaixo, temos uma abstração do processo de execução do código JavaScript pelo motor V8:

    Fluxograma do processo de execução do motor V8: começa com 'Código JavaScript', passa por 'Análise e conversão', gera a 'Árvore Sintática Abstrata', que alimenta o 'Interpretador da V8' e o 'Compilador TurboFan', resultando em 'Bytecode' e 'Código de máquina otimizado' respectivamente.

    No fluxograma acima, temos dois caminhos. O Ignition é o interpretador do V8, ele percorre a AST e gera bytecodes que são executados imediatamente. Já o TurboFan é o compilador otimizador: ele identifica funções executadas com frequência (hot paths) e as compila para código de máquina nativo, muito mais rápido.

    Ao final desse processo, o motor V8 combina interpretação e compilação just-in-time (JIT) para equilibrar tempo de inicialização com performance de execução.

    Node.js: características técnicas (assíncrono, single thread e orientado a eventos)

    Uma das características do Node.js é ser um ambiente de execução assíncrono. Com isso, ele trabalha de forma a não bloquear a aplicação no momento de sua execução, colocando os processos mais demorados para um segundo plano.

    O Node.js se diferencia de plataformas como Java, PHP e .NET pelo fato de executar o JavaScript em uma única thread principal (o event loop), em vez de criar threads por requisição.

    Porém, internamente, o Node.js usa um pool de threads (via libuv) para operações de I/O como leitura de arquivos e DNS. A pessoa desenvolvedora não gerencia essas threads diretamente, mas elas existem, o que otimiza o processo sem sacrificar a capacidade de lidar com I/O concorrente.

    O Node.js não é lento nem demora para processar requisições porque possui característica não bloqueante, relacionada ao sistema de callbacks do JavaScript e ao event loop (loop de eventos). Para saber mais sobre esses recursos, confira o artigo Arquitetura do Node.js: entenda o loop de eventos.

    Node.js: principais características e para que serve

    Veja exemplos práticos de aplicações que podemos construir com node.js:

    1. Desenvolver soluções em API Rest;
    2. Criação de chatbots;
    3. Projetos de internet das coisas (IoT);
    4. Dar vida a soluções de web scraping, web servers e até mesmo aplicações desktop.

    O Node.js possui uma versatilidade gigantesca e Camila Pessôa, em seu artigo sobre como o Node.js funciona, elenca algumas outras características que não podemos deixar de comentar:

    • Escalabilidade: o Node.js foi pensado desde o início para entregar soluções para arquiteturas escaláveis, o que explica sua adoção por grandes empresas de tecnologias;

    • Multiplataforma: podemos criar desde soluções web a aplicações desktop;

    • Open Source: como já citado, o Node.js tem seu código aberto, o que nos possibilita contribuir com o projeto e até mesmo realizar customizações;

    • Multi-paradigma: com o JavaScript podemos adotar várias formas de codificar usando paradigmas como a orientação a objetos, o funcional e o orientado a eventos.

    Por isso, Node.js é considerado uma das opções mais populares para quem deseja uma primeira experiência no backend – especialmente para quem já vem do mundo JavaScript no frontend. Se você quer aprender como usar o Node.js do zero, confira a Carreira de Desenvolvimento Back-end Node.js.

    Node.js e módulos: como organizar e reaproveitar código

    O Node.js trabalha fortemente com o conceito de módulo, que visa organizar o código em partes pequenas e especializadas, além de aplicar o princípio de encapsulamento ao “esconder” o código e expor somente o necessário a outras partes da aplicação.

    Originalmente o Node.js trabalhava com o sistema CJS (Common JS) de modularização, pois o JavaScript não tinha ferramentas específicas para isso. Posteriormente foi especificado o padrão “geral” de módulos do JavaScript, o EcmaScript Modules.

    Entender a diferença entre CommonJS e EcmaScript Modules é importante para quem quer começar a criar projetos profissionais com Node.js.

    O Node.js vem adotando gradativamente o ECMAScript Modules desde a versão 13, o que traz muitas diferenças com relação à forma “original” do Node.js, o CJS. Para saber mais sobre esse tema, recomendamos a leitura do artigo ''Um guia para importação e exportação de módulos com JavaScript.''

    Como usar o NPM no Node.js para gerenciar dependências

    Logo oficial do NPM (Node Package Manager), em vermelho com as letras 'npm' em fonte estilizada.

    O uso do NPM (Node Package Manager) é um dos maiores motivos para o sucesso do Node.js. Se você procura o que é Node.js na prática, saiba que grande parte do ecossistema é construído por meio desses pacotes compartilhados.

    O NPM vai nos permitir compartilhar os módulos que criamos com a comunidade além de possibilitar a reutilização de módulos criados por outras pessoas desenvolvedoras.

    • Para verificar a instalação e versão do NPM você pode executar o comando npm -v:

    A imagem mostra  a tela do terminal do windows onde é executado o comando npm -v e exibe no terminal a versão 8.19.2 do NPM.

    A imagem mostra a tela do terminal do windows onde é executado o comando npm -v e exibe no terminal a versão 8.19.2 do NPM.

    Através do NPM podemos gerenciar todas dependências dos projetos JavaScript que estamos desenvolvendo, com ele temos acesso a uma gama enorme de bibliotecas e frameworks JS..

    Node.js no mercado: quem usa e quais as oportunidades

    Fica a pergunta: “E no mercado onde existe o Node.js rodando?”. Por se tratar de uma tecnologia flexível e escalável, hoje grandes empresas utilizam o Node.js como parte de sua stack. Entre elas, destacam-se:

    • GoDaddy: em 2015, adquiriu a startup Nodejitsu e acelerou a migração da sua infraestrutura de hosting tradicional para Node.js. Com isso, passou a servir centenas de milhares de sites de pequenos negócios usando Node, com melhoria de performance de 4x e redução de custos de infraestrutura de 10x. A empresa utiliza Node.js em diversas partes da sua stack, desde APIs para desenvolvedores até ferramentas de criação de sites.

    Fonte: GoDaddy Joins Newly Unified Node.js Foundation — Press Release oficial

    • Netflix: caso emblemático por se tratar de uma das maiores plataformas de streaming do mundo. A Netflix historicamente era uma empresa Java, mas ao migrar para a nuvem adotou uma arquitetura baseada em serviços. A camada de UI, que antes rodava em um servidor Java monolítico, foi migrada para Node.js rodando em containers Docker, o que reduziu o tempo de startup de mais de 40 minutos para menos de 1 minuto. A motivação principal foi unificar a linguagem entre cliente e servidor. Java ainda alimenta o backend core da Netflix, tudo que a pessoa usuária vê vem do Node.

    Fontes:

    • Slaying Monoliths at Netflix with Node.js — Linux.com (palestra de Yunong Xiao, Principal Software Engineer na Netflix)
    • How Netflix uses Node.JS — Disrupt Magazine (declaração de Kim Trott, engenheira da Netflix)
    • From Java to Node: the Netflix story — Built In Node

    • NASA: utilizou Node.js para criar um sistema que centraliza e migra dados sobre trajes espaciais (EVA spacesuits) de três bancos de dados legados (Oracle e Microsoft SQL Server) para um banco de dados na nuvem (RethinkDB na AWS). A arquitetura usa microserviços e APIs em Node.js que transferem dados via jobs ETL noturnos, reduzindo o tempo de acesso aos dados em 300%. O objetivo é melhorar a segurança das pessoas astronautas centralizando informações críticas sobre o ciclo de vida dos trajes.

    Fontes:

    • One small step for the Thinker: A case study of RethinkDB at NASA — RethinkDB Blog (case study detalhado escrito pela equipe da MRI Technologies que implementou o projeto)
    • Ground Control to Major Tom: How NASA Uses Node.js — HackerNoon / Node.js Foundation

    • Slack: desenvolveu seu cliente de desktop usando Electron, que combina o motor de renderização do Chromium com o runtime e sistema de módulos do Node.js. O app desktop foi um dos primeiros aplicativos Electron em produção fora do Atom, e evoluiu de CoffeeScript com APIs DOM vanilla para uma aplicação moderna em TypeScript + React. O backend do Slack, por outro lado, é primariamente PHP/Hacklang rodando em HHVM, com serviços de mensageria em tempo real escritos em Java e Go.

    Fontes:

    • Building Hybrid Applications with Electron — Slack Engineering Blog (blog oficial de engenharia do Slack)
    • Introducing Electron to the Windows Runtime — Slack Engineering Blog
    • What is the tech stack behind Slack? — Quora (resposta de engenheiro do Slack descrevendo a stack completa)

    • Uber: adotou Node.js em 2011 como uma das primeiras linguagens da empresa, inicialmente para o serviço de dispatch (despacho de corridas) por conta de suas primitivas assíncronas e processamento single-threaded. Node.js também se tornou o core da stack web, com o framework Express.js (via Bedrock, o web server interno da Uber). Porém, a partir de 2018, a empresa migrou progressivamente os serviços backend de Node.js e Python para Go e Java, buscando type safety e melhor performance. Em 2020, o principal serviço de dispatch já rodava em Go.

    Fontes:

    • The Uber Engineering Tech Stack, Part I: The Foundation — Uber Engineering Blog(blog oficial)
    • The Uber Engineering Tech Stack, Part II: The Edge and Beyond — Uber Engineering Blog(blog oficial)
    • Uber's technology history learning — DEV Community (análise cronológica da evolução da stack)

    Podemos citar diversas startups e até gigantes da tecnologia como IBM que possuem soluções desenvolvidas com o Node.JS. É uma tecnologia em grande expansão, que tem aberto inúmeras oportunidades de trabalho no Brasil e exterior.

    Suporte Node.js: repositório para validações e ajuda em projetos

    Para dúvidas frequentes sobre como usar Node.js ou sobre projetos práticos, o repositório oficial de exemplos é um excelente recurso.

    Saiba mais: Dev em T — programação, carreira e tipos de perfil

    Dev em T: programação, carreira e tipos de perfil | #HipstersPontoTube

    https://www.youtube.com/watch?v=_nCESq0ggRg

    Guia de Carreira Node.JS (Tech Guide)

    Caso você queira mergulhar nessa tecnologia mas não saiba por onde começar a estudar, não deixe de acessar o Tech Guide Node.JS, lá você vai conhecer trilhas de estudos do iniciante ao avançado, trazendo tecnologias e conceitos que vão te ajudar a ser um profissional em T.

    Confira também o episódio da série Guia de Carreiras do #HipstersPontoTube sobre o Node.JS e aprenda mais sobre essa tecnologia, suas vantagens e o que é necessário para iniciar sua profissão nesta área de desenvolvimento de software:

    Guia de Carreira NODE.JS | #HipstersPontoTube

    Os MELHORES livros de tecnologia para ler em Programação com Roberta Arcoverde | #HipstersPontoTube

    Aprenda Node.js gratuitamente: cursos e conteúdos recomendados

    Acesse gratuitamente as primeiras aulas dos cursos feitos pela Escola de Programação da Alura e continue aprendendo sobre temas como:

    1. JavaScript: tipos, variáveis e funções
    2. JavaScript: Arrays
    3. JavaScript: objetos
    4. JavaScript I: algoritmos de ordenação
    5. Algoritmos com JavaScript II: aprofundando em algoritmos de ordenação e busca
    6. Node.js: criando sua primeira biblioteca
    7. JavaScript: programação orientada a objetos
    8. Node.js: API Rest com Express e MongoDB

    Como aprender melhor? Com Diogo Pires | #HipstersPontoTube

    https://www.youtube.com/watch?v=uOagLB3uyeU

    Resumo: por que aprender Node.js e próximos passos

    O JavaScript é uma das linguagens de programação mais populares do mundo. O Node.js tornou possível usar JavaScript também no backend, criando APIs, web servers, soluções de Internet das Coisas (IoT), aplicações desktop, chatbots e até inteligência artificial. Se você busca aprender o que é Node.js, como funciona e para que serve, esse é o momento ideal para começar.

    E claro, se você quiser dar um passo a mais na carreira de backend, aproveite para conhecer a Carreira de Desenvolvimento Node.js da Alura, um caminho estruturado, do básico ao avançado, para dominar todo o ecossistema JavaScript no servidor.

    Deixamos aqui também algumas referências que serão de grande ajuda para mergulhar no universo do Node.js:

    • Artigo Node.JS: definição, características, vantagens e usos possíveis;

    • Artigo Como instalar o Node.js no Windows, Linux e macOS;

    • Podcast | HipstersPontoTube Ecossistema Node.js;

    • Podcast | HipstersPontoTube JavaScript para back-end;

    • Artigo Debugando projetos NodeJS no VSCode;

    • Site Node.org.

    Estude 2 anos por R$ 158/mês. Planos com até 35% OFF. Ver planos.
    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Avalie este artigo

    Foto de andre-bessa1

    Autor(a)

    andre-bessa1

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • 07/02/2023

      Arquitetura do Node.js: entenda threads e processos

      Ler mais
    • 31/01/2018

      Criando anotações no Java

      Ler mais
    • 23/04/2012

      Integração contínua de projeto Java com Jenkins

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.