O que é Node.js? [Guia para iniciantes]

Saiba o que é Node.js, um software gratuito e de código aberto que permite executar código JavaScript do lado do servidor

Diego Melo
Por
• Atualizado há 11 meses
O que é JavaScript? / Clement Helardot / Unsplash
JavaScript (Imagem: Clement Helardot / Unsplash)

O JavaScript foi criado para facilitar o desenvolvimento de sites mais interativos e dinâmicos, como uma linguagem de programação de alto nível que roda nos navegadores. Com a evolução da web, outras utilidades foram criadas para a linguagem. Uma delas é o Node.js, um software livre e gratuito que permite rodar aplicações JavaScript do lado do servidor. Saiba mais sobre essa tecnologia, sua história e principais vantagens.

O qué Node.js?

Node.js é um ambiente de execução JavaScript que permite executar aplicações desenvolvidas com a linguagem de forma autônoma, sem depender de um navegador. Com ele, é possível criar praticamente qualquer tipo de aplicações web, desde servidores para sites estáticos e dinâmicos, até APIs e sistemas baseados em microserviços.

Foi criado em 2009 pelo engenheiro de software Ryan Dahl como uma alternativa ao Apache HTTP Server, o servidor web mais popular da época. Dahl criticava algumas limitações do Apache, como o suporte relativamente baixo a múltiplas conexões, buscando resolver este problema com uma abordagem focada em eventos e execução assíncrona, sendo uma opção mais responsiva e com menos consumo de recursos do que os servidores “tradicionais”.

Atualmente, o Node.js é mantido pela OpenJS Foundation, uma fundação criada em 2019 com o objetivo de promover a utilização do JavaScript e de suas tecnologias relacionadas.

Como funciona?

A principal característica do Node.js é sua execução ser single-thread, ou seja, os recursos computacionais são alocados apenas uma vez pelo tempo que a aplicação estiver sendo executada. Aplicações multi-thread, como as criadas com PHP, por exemplo, requerem a criação de uma thread a cada nova requisição, e ela não é executada enquanto a anterior não for finalizada.

Essa thread única é chamada de “Event Loop”. Ela trata todas as requisições como eventos, de maneira assíncrona e não-bloqueável, eliminando a necessidade de filas de processamento e tornando as aplicações mais eficientes e responsivas.

O Node.js não é um framework JavaScript, como o React ou o Vue.js, mas sim um ambiente de execução em uma máquina virtual própria para interpretar e executar os scripts de forma autônoma, baseada no “motor” V8, criado pelo Google para o navegador Chrome.

O que é Node.js / Ferenc Almasi / Unsplash
Código Javascript (Imagem: Ferenc Almasi / Unsplash)

Principais vantagens

Devido ao baixo consumo de recursos e à capacidade de processar várias requisições simultaneamente, o Node.js é muito utilizado em aplicações que requerem uma alta escalabilidade, ou seja, que possam crescer sem perder qualidade ou aumentar os custos.

Outra vantagem é a possibilidade de manter o ecossistema de aplicações e toda a base de código em uma só linguagem de programação, no caso, o JavaScript. Também há o NPM (Node Package Manager), o gerenciador de pacotes do Node.js, que dá acesso a um enorme repositório de bibliotecas e módulos que podem ser adicionadas ao projeto, contendo ferramentas e/ou soluções para os mais diversos problemas e requisitos.

O Node.js é um software gratuito, de código-aberto e com uma comunidade ativa e participativa. É suportado pelos mais diversos serviços de hospedagem, com AWS, Google Could e Microsoft Azure, e amplamente utilizado em escala industrial por grandes empresas como Netflix, PayPal, Linkedin, entre outras. Você pode saber mais sobre o Node.js acessando o site oficial.

Esse conteúdo foi útil?
😄 Sim🙁 Não

Receba mais sobre Node.js na sua caixa de entrada

* ao se inscrever você aceita a nossa política de privacidade
Newsletter
Diego Melo

Diego Melo

Ex-redator

Diego Melo é jornalista e cursa Análise e Desenvolvimento de Sistemas. Escreve sobre tecnologia desde 2011, fez parte da equipe do Tecnoblog entre 2016 e 2022, produzindo pautas sobre programação, guias e tutoriais de programas. Hoje é desenvolvedor full-stack e trabalha diariamente com tecnologias como JavaScript (Vue.js), PHP (Laravel) e SQL (MySQL).

Relacionados