{"id":42732,"date":"2021-05-04T08:49:37","date_gmt":"2021-05-04T06:49:37","guid":{"rendered":"https:\/\/kinqsta.com\/?post_type=knowledgebase&#038;p=93827"},"modified":"2025-10-01T17:06:07","modified_gmt":"2025-10-01T20:06:07","slug":"o-que-e-node-js","status":"publish","type":"post","link":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/","title":{"rendered":"O Que \u00e9 Node.js e Por Que Us\u00e1-lo?"},"content":{"rendered":"<p>O JavaScript \u00e9 uma das linguagens de programa\u00e7\u00e3o mais populares do mundo. Ela alimenta milh\u00f5es de websites hoje, e tem atra\u00eddo multid\u00f5es de desenvolvedores e designers para construir recursos para a web. Se voc\u00ea \u00e9 novo em programa\u00e7\u00e3o, o JavaScript \u00e9 facilmente uma das <a href=\"https:\/\/kinqsta.com\/pt\/blog\/melhor-linguagem-de-programacao\/\">melhores linguagens de programa\u00e7\u00e3o<\/a> para se colocar sob seu cinto.<\/p>\n<p>Durante seus primeiros 20 anos, o JavaScript foi utilizado principalmente para a elabora\u00e7\u00e3o de scripts do lado do cliente. Como o JavaScript s\u00f3 podia ser usado dentro da tag <code>&lt;script&gt;<\/code>, os desenvolvedores tinham que trabalhar em v\u00e1rias linguagens e estruturas entre os componentes front-end e back-end. Mais tarde veio o Node.js, que \u00e9 um ambiente de tempo de execu\u00e7\u00e3o que inclui tudo o que \u00e9 necess\u00e1rio para executar um programa escrito em JavaScript.<\/p>\n<p>O Node.js \u00e9 um ambiente de tempo de execu\u00e7\u00e3o com uma \u00fanica camada, de c\u00f3digo aberto e multiplataforma para construir aplica\u00e7\u00f5es r\u00e1pidas e escalon\u00e1veis no lado do servidor e em rede. Ele roda no motor de tempo de execu\u00e7\u00e3o JavaScript V8, e usa uma arquitetura de E\/S n\u00e3o bloqueada por eventos, o que o torna eficiente e adequado para aplica\u00e7\u00f5es em tempo real.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h3>O que est\u00e1 escrito no Node.js?<\/h3>\n<p>Node.js \u00e9 escrito em C, C++, e JavaScript.<\/p>\n<p>A <a href=\"https:\/\/en.wikipedia.org\/wiki\/Node.js\">Wikipedia define o Node.js<\/a> como &#8220;uma compila\u00e7\u00e3o empacotada do motor JavaScript V8 do Google, a camada de abstra\u00e7\u00e3o da plataforma libuv, e uma biblioteca central, que por si s\u00f3 \u00e9 escrita principalmente em JavaScript&#8221;.<\/p>\n<p>O runtime utiliza internamente o <a href=\"https:\/\/en.wikipedia.org\/wiki\/Chrome_V8\">Chrome V8<\/a>, que \u00e9 o motor de execu\u00e7\u00e3o JavaScript, e tamb\u00e9m est\u00e1 escrito em C++. Isto acrescenta casos de uso adicionais ao repert\u00f3rio do Node.js, como o acesso \u00e0 funcionalidade do sistema interno (como rede).<\/p>\n<h2>Arquitetura do Node.js e como funciona<\/h2>\n<p>O Node.js usa a arquitetura &#8220;Single Threaded Event Loop&#8221; para lidar com v\u00e1rios clientes ao mesmo tempo. Para entender como isto \u00e9 diferente de outros tempos de execu\u00e7\u00e3o, precisamos entender como clientes multi-tarefa simult\u00e2neos s\u00e3o tratados em linguagens como Java.<\/p>\n<p>Em um modelo de resposta a solicita\u00e7\u00f5es multi-threaded, v\u00e1rios clientes enviam uma solicita\u00e7\u00e3o, e o servidor processa cada um deles antes de enviar a resposta de volta. No entanto, m\u00faltiplos threads s\u00e3o usados para processar chamadas simult\u00e2neas. Estes t\u00f3picos s\u00e3o definidos em um pool de t\u00f3picos, e cada vez que uma solicita\u00e7\u00e3o chega, um t\u00f3pico individual \u00e9 designado para trat\u00e1-la.<\/p>\n<p>\u00a0<\/p>\n<figure id=\"attachment_92199\" aria-describedby=\"caption-attachment-92199\" style=\"width: 1024px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2021\/03\/Nodejs-Architecture.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-92199 size-large\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2021\/03\/Nodejs-Architecture-1024x576.png\" alt=\"Como o node.js processa os pedidos recebidos usando o loop do evento\" width=\"1024\" height=\"576\"><\/a><figcaption id=\"caption-attachment-92199\" class=\"wp-caption-text\">Como o node.js processa os pedidos recebidos usando o loop do evento<\/figcaption><\/figure>\n<p>\u00a0<\/p>\n<p>O Node.js funciona de forma diferente. Vamos dar uma olhada em cada passo que ele passa:<\/p>\n<ol>\n<li>O Node.js mant\u00e9m um pool limitado de threads para atender aos pedidos.<\/li>\n<li>Sempre que um pedido chega, o Node.js o coloca em uma fila.<\/li>\n<li>Agora, o &#8220;loop de eventos&#8221; &#8211; o componente central &#8211; \u00e9 o que est\u00e1 em jogo. Este loop de eventos espera por solicita\u00e7\u00f5es indefinidamente.<\/li>\n<li>Quando um pedido chega, o la\u00e7o o pega da fila e verifica se requer uma opera\u00e7\u00e3o de entrada\/sa\u00edda (E\/S) de bloqueio. Caso contr\u00e1rio, ele processa a solicita\u00e7\u00e3o e envia uma resposta.<\/li>\n<li>Se a solicita\u00e7\u00e3o tiver uma opera\u00e7\u00e3o de bloqueio a realizar, o loop do evento atribui um fio do pool interno de threads para processar a solicita\u00e7\u00e3o. H\u00e1 poucas roscas internas dispon\u00edveis. Este grupo de roscas auxiliares \u00e9 chamado de grupo de trabalhadores.<\/li>\n<li>O loop do evento rastreia os pedidos de bloqueio e os coloca na fila uma vez que a tarefa de bloqueio \u00e9 processada. \u00c9 assim que mant\u00e9m sua natureza de n\u00e3o-bloqueio.<\/li>\n<\/ol>\n<p>Como o Node.js utiliza menos threads, ele utiliza menos recursos\/mem\u00f3ria, resultando em uma execu\u00e7\u00e3o mais r\u00e1pida das tarefas. Portanto, para nossos prop\u00f3sitos, esta arquitetura de rosca \u00fanica \u00e9 equivalente \u00e0 arquitetura multi-tarefa. Quando se precisa processar tarefas com uso intensivo de dados, ent\u00e3o o uso de linguagens multi-tarefa como Java faz muito mais sentido. Mas para aplicativos em tempo real, o Node.js \u00e9 a escolha \u00f3bvia.<\/p>\n<h2>Caracter\u00edsticas do Node.js<\/h2>\n<p>O Node.js tem crescido rapidamente nos \u00faltimos anos. Isto se deve \u00e0 vasta lista de caracter\u00edsticas que ele oferece:<\/p>\n<ol>\n<li><strong>F\u00e1cil<\/strong> &#8211; Node.js \u00e9 bastante f\u00e1cil de come\u00e7ar. \u00c9 a escolha ideal para iniciantes no desenvolvimento web. Com muitos tutoriais e uma grande comunidade iniciada, \u00e9 muito f\u00e1cil.<\/li>\n<li><strong>Escal\u00e1vel <\/strong>&#8211; Proporciona uma vasta escalabilidade para aplicativos. O Node.js, sendo de rosca \u00fanica, \u00e9 capaz de lidar com um enorme n\u00famero de conex\u00f5es simult\u00e2neas com alto rendimento.<\/li>\n<li><strong>Veloz <\/strong>&#8211; A execu\u00e7\u00e3o da linha Non-blocking torna o Node.js ainda mais r\u00e1pido e mais eficiente.<\/li>\n<li><strong>Pacotes <\/strong>&#8211; Um vasto conjunto de pacotes open-source Node.js est\u00e1 dispon\u00edvel que pode simplificar seu trabalho. H\u00e1 mais de um milh\u00e3o de pacotes no ecossistema NPM atualmente.<\/li>\n<li><strong>Forte back-end <\/strong>&#8211; Node.js forte \u00e9 escrito em C e C++, o que o torna mais r\u00e1pido e acrescenta recursos como suporte de rede.<\/li>\n<li><strong>Multiplataforma <\/strong>&#8211; plataforma permite criar sites SaaS, aplicativos desktop e at\u00e9 mesmo aplicativos m\u00f3veis, <a href=\"https:\/\/sevalla.com\/application-hosting\/\">todos usando o Node.js<\/a>.<\/li>\n<li><strong>Manten\u00edvel<\/strong> &#8211; Node.js \u00e9 uma escolha f\u00e1cil para os desenvolvedores, j\u00e1 que tanto o frontend quanto o backend podem ser gerenciados com JavaScript como uma \u00fanica linguagem.<\/li>\n<\/ol>\n<h2>Tamanho do mercado<\/h2>\n<p>Houve um crescimento imenso nos websites nas \u00faltimas duas d\u00e9cadas e, como esperado, o Node.js tamb\u00e9m est\u00e1 crescendo rapidamente. O tempo de execu\u00e7\u00e3o popular j\u00e1 ultrapassou o limite de <strong>1 bilh\u00e3o de downloads <\/strong>em 2018, e de <a href=\"https:\/\/w3techs.com\/technologies\/details\/ws-nodejs\">acordo com a W3Techs<\/a>, o Node.js \u00e9 usado por <strong>1,2% <\/strong>de todos os websites em todos os lugares. S\u00e3o mais de 20 milh\u00f5es de sites em toda a Internet.<\/p>\n<p>N\u00e3o surpreende, \u00e9 uma sele\u00e7\u00e3o popular com milh\u00f5es de empresas, tamb\u00e9m. Aqui est\u00e3o algumas das mais populares que usam o Node.js hoje:<\/p>\n<ul>\n<li>Twitter<\/li>\n<li>Spotify<\/li>\n<li>eBay<\/li>\n<li>Reddit<\/li>\n<li>LinkedIn<\/li>\n<li>Godaddy<\/li>\n<\/ul>\n<h2>Aplicativos do Node.js<\/h2>\n<figure id=\"attachment_92201\" aria-describedby=\"caption-attachment-92201\" style=\"width: 1024px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2021\/03\/nodejs-applications.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-92201 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2021\/03\/nodejs-applications.png\" alt=\"Aplica\u00e7\u00f5es do Node.js\" width=\"1024\" height=\"768\"><\/a><figcaption id=\"caption-attachment-92201\" class=\"wp-caption-text\">Aplicativos do Node.js<\/figcaption><\/figure>\n<p>\u00a0<\/p>\n<p>O Node.js \u00e9 usado para uma grande variedade de aplicativos. Vamos explorar alguns casos de uso popular onde o Node.js \u00e9 uma boa escolha:<\/p>\n<ol>\n<li><strong>Conversas em tempo real <\/strong>&#8211; devido \u00e0 sua natureza ass\u00edncrona de um \u00fanico fio, o Node.js \u00e9 bem adequado para processar a comunica\u00e7\u00e3o em tempo real. Ele pode ser facilmente dimensionado e \u00e9 freq\u00fcentemente utilizado na constru\u00e7\u00e3o de chatbots. O Node.js tamb\u00e9m torna simples a constru\u00e7\u00e3o de recursos adicionais de bate-papo como bate-papo multi-pessoa e notifica\u00e7\u00f5es push.<\/li>\n<li><strong>Internet das Coisas<\/strong> &#8211; Os aplicativos da Internet das Coisas (IoT) tipicamente incluem v\u00e1rios sensores, j\u00e1 que eles frequentemente enviam pequenos peda\u00e7os de dados que podem se acumular em um grande n\u00famero de solicita\u00e7\u00f5es. O Node.js \u00e9 uma boa escolha porque \u00e9 capaz de lidar rapidamente com estes<\/li>\n<li><strong>Fluxo de dados <\/strong>&#8211; Empresas como a Netflix utilizam o Node.js para fins de fluxo de dados. Isto se deve principalmente ao Node.js ser leve e r\u00e1pido, al\u00e9m do qual Node.js fornece um API nativo para streaming. Estes fluxos permitem que os usu\u00e1rios encaminhem as solicita\u00e7\u00f5es uns aos outros, resultando em que os dados sejam encaminhados diretamente para seu destino final.<\/li>\n<li><strong>Aplicativos complexas de p\u00e1gina \u00fanica (SPAs<\/strong>)-Em SPAs, a aplica\u00e7\u00e3o inteira \u00e9 carregada em uma \u00fanica p\u00e1gina. Isto geralmente significa que h\u00e1 um par de solicita\u00e7\u00f5es feitas em segundo plano para componentes espec\u00edficos. O loop de eventos do Node.js vem em socorro aqui, pois processa as solicita\u00e7\u00f5es de forma n\u00e3o obstrutiva.<\/li>\n<li><strong>Aplicativos REST baseadas em API<\/strong>-JavaScript \u00e9 usado tanto no front-end quanto no backend dos sites. Assim, um servidor pode se comunicar facilmente com o frontend via REST APIs usando o Node.js. O Node.js tamb\u00e9m fornece pacotes como Express.js e Koa que tornam ainda mais f\u00e1cil a constru\u00e7\u00e3o de aplicativos web.<\/li>\n<\/ol>\n<h2>O Node.js \u00e9 uma linguagem de programa\u00e7\u00e3o?<\/h2>\n<p>Em uma palavra: <strong>n\u00e3o<\/strong>.<\/p>\n<p>Node.js n\u00e3o \u00e9 uma linguagem de programa\u00e7\u00e3o. Ao contr\u00e1rio, \u00e9 um ambiente de tempo de execu\u00e7\u00e3o que \u00e9 usado para executar JavaScript fora do navegador.<\/p>\n<p>Nem o Node.js \u00e9 uma estrutura (uma plataforma para o desenvolvimento de aplicativos de software). O Node.js \u00e9 constru\u00eddo em cima de uma linguagem de programa\u00e7\u00e3o &#8211; neste caso, JavaScript &#8211; e ajuda na execu\u00e7\u00e3o dos pr\u00f3prios frameworks.<\/p>\n<p>Em resumo, Node.js n\u00e3o \u00e9 nem uma linguagem de programa\u00e7\u00e3o nem uma estrutura; \u00e9 um ambiente para eles.<\/p>\n<h2>O Node.js \u00e9 Frontend ou Backend?<\/h2>\n<p>Um equ\u00edvoco comum entre os desenvolvedores \u00e9 que o Node.js \u00e9 uma estrutura backend e \u00e9 usado apenas para construir servidores. Isto n\u00e3o \u00e9 verdade: o Node.js pode ser usado tanto no frontend quanto no backend.<\/p>\n<p>Uma das raz\u00f5es pelas quais as estruturas do Node.js s\u00e3o uma escolha popular para os desenvolvedores que constroem um backend flex\u00edvel e escal\u00e1vel \u00e9 sua natureza n\u00e3o bloqueadora e orientada a eventos. No entanto, os <a href=\"https:\/\/kinqsta.com\/pt\/blog\/desenvolvedor-backend\/\">desenvolvedores do frontend<\/a> ver\u00e3o estes benef\u00edcios do Node.js em seu pr\u00f3prio trabalho com a mesma clareza.<\/p>\n<p>Vejamos por que a Node.js trabalha tanto para backend quanto para frontend:<\/p>\n<ol>\n<li><strong>Reusabilidade <\/strong>&#8211; JavaScript \u00e9 uma linguagem comum que \u00e9 usada para escrever tanto backend quanto frontend com a ajuda de estruturas como Express.js e Meteor.js. Algumas pilhas populares como <a href=\"https:\/\/www.mongodb.com\/mern-stack\">MERN<\/a> usam o Express.js como backend (uma estrutura do Node.js). M\u00faltiplos componentes tamb\u00e9m podem ser reutilizados entre o frontend e o backend.<\/li>\n<li><strong>Produtividade e efici\u00eancia do desenvolvedor <\/strong>&#8211; Gra\u00e7as a uma redu\u00e7\u00e3o na troca de contexto entre v\u00e1rias linguagens, muito tempo do desenvolvedor pode ser economizado. O uso do JavaScript tanto para backend quanto para frontend resulta em maior efici\u00eancia, j\u00e1 que muitas ferramentas s\u00e3o comuns para ambos.<\/li>\n<li><strong>Enorme comunidade <\/strong>&#8211; Uma pr\u00f3spera comunidade online fatores na velocidade de um ciclo de desenvolvimento bem sucedido. Quando voc\u00ea fica preso a um problema, h\u00e1 uma boa chance de que algu\u00e9m j\u00e1 o tenha resolvido e compartilhado a solu\u00e7\u00e3o no Stack Overflow. O Node.js faz grande uso desta comunidade, que \u00e9 ativa e engajada quando se trata do tempo de execu\u00e7\u00e3o popular e seus pacotes.<\/li>\n<\/ol>\n<h2>Come\u00e7ando com o Node.js<\/h2>\n<p>Pode ser esmagador decidir por onde come\u00e7ar com o Node.js. Felizmente, \u00e9 suficientemente simples de instalar, e ent\u00e3o voc\u00ea ser\u00e1 capaz de test\u00e1-lo por si mesmo.<\/p>\n<h2>Como instalar o Node.js<\/h2>\n<p>Se voc\u00ea j\u00e1 tem o Node.js instalado, sinta-se \u00e0 vontade para passar por esta se\u00e7\u00e3o.<\/p>\n<h3>No macOS<\/h3>\n<p><strong>Usando Bash no Mac<\/strong><\/p>\n<pre><code class=\"language-bash\">curl \"https:\/\/nodejs.org\/dist\/latest\/node-${VERSION:-$(wget -qO- https:\/\/nodejs.org\/dist\/latest\/ | sed -nE 's|.*&gt;node-(.*)\\.pkg.*|\\1|p')}.pkg\" &gt; \"$HOME\/Downloads\/node-latest.pkg\" && sudo installer -store -pkg \"$HOME\/Downloads\/node-latest.pkg\" -target \"\/\"\n<\/code><\/pre>\n<p><strong>Usando Homebrew no Mac<\/strong><\/p>\n<pre><code class=\"language-bash\">brew install node<\/code><\/pre>\n<h3>No Windows<\/h3>\n<p>Fa\u00e7a o download do <a href=\"https:\/\/nodejs.org\/en\/#home-downloadhead\">Windows Installer<\/a> diretamente do site <a href=\"https:\/\/nodejs.org\/\">nodejs.org<\/a>.<\/p>\n<h3>No Linux<\/h3>\n<p>No Ubuntu 18.04+ voc\u00ea pode instalar o Nodo usando os seguintes comandos.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install nodejs<\/code><\/pre>\n<h2>Verifique a vers\u00e3o do Node.js instalado<\/h2>\n<p>Na se\u00e7\u00e3o anterior, instalamos com sucesso o Nodo. Vamos verificar isso verificando a vers\u00e3o instalada. Execute o seguinte comando no terminal.<\/p>\n<pre><code class=\"language-bash\">node -v<\/code><\/pre>\n<p>Voc\u00ea tamb\u00e9m pode verific\u00e1-lo atrav\u00e9s da bandeira mais longa<\/p>\n<pre><code class=\"language-bash\">node --version<\/code><\/pre>\n<p>Voc\u00ea deve ver uma sa\u00edda semelhante a esta. Embora o n\u00famero da vers\u00e3o possa variar.<\/p>\n<pre><code>v14.16.0<\/code><code class=\"language-bash\"><\/code><\/pre>\n<h2>O que \u00e9 NPM?<\/h2>\n<p><a href=\"https:\/\/www.npmjs.com\/\">NPM<\/a> \u00e9 o ecossistema de pacotes do Node.js. \u00c9 o maior ecossistema de todas as bibliotecas de c\u00f3digo aberto do mundo, com mais de 1 milh\u00e3o de pacotes e em crescimento. O NPM \u00e9 de uso livre e milhares de desenvolvedores de c\u00f3digo aberto contribuem diariamente para ele.<\/p>\n<p>O NPM vem com um utilit\u00e1rio de linha de comando fora da caixa. Voc\u00ea pode simplesmente ir at\u00e9 o <a href=\"https:\/\/www.npmjs.com\/search?q=keywords:packages\">si<\/a><a href=\"https:\/\/www.npmjs.com\/search?q=keywords:packages\">te do NPM<\/a> para procurar o pacote que voc\u00ea precisa e instal\u00e1-lo usando um \u00fanico comando. Voc\u00ea tamb\u00e9m pode gerenciar as vers\u00f5es de seu pacote, revisar depend\u00eancias e at\u00e9 mesmo configurar scripts personalizados em seus projetos atrav\u00e9s deste utilit\u00e1rio de linha de comando. Sem d\u00favida, o NPM \u00e9 a posse mais amada da comunidade Node.js; o Node.js atrai um grande n\u00famero de desenvolvedores devido em grande parte a seu excelente suporte a pacotes.<\/p>\n<h3>Instala\u00e7\u00e3o de pacotes NPM via CLI<\/h3>\n<p>Quando voc\u00ea instala o Node.js, o NPM \u00e9 instalado automaticamente junto com ele. Cobrimos como instalar o Node.js nas se\u00e7\u00f5es anteriores, ent\u00e3o agora vamos dar uma olhada no comando para instalar um pacote com NPM:<\/p>\n<pre><code class=\"language-bash\">npm install &lt;package-name&gt;<\/code><\/pre>\n<p>Sim, \u00e9 t\u00e3o f\u00e1cil assim! Voc\u00ea pode at\u00e9 mesmo instalar v\u00e1rios pacotes ao mesmo tempo:<\/p>\n<pre><code class=\"language-bash\">npm install &lt;pkg-1&gt; &lt;pkg-2&gt; &lt;pkg-3&gt;<\/code><\/pre>\n<p>Voc\u00ea tamb\u00e9m pode especificar a bandeira <strong>-g <\/strong>(global) se voc\u00ea quiser instalar um pacote no contexto global. Isto permite que voc\u00ea use o pacote em qualquer lugar atrav\u00e9s de sua m\u00e1quina.<\/p>\n<p>Quando voc\u00ea inicializa um novo aplicativo, o NPM cria automaticamente um arquivo <strong>package.json <\/strong>que consiste de todos os pacotes NPM. \u00c9 aqui que voc\u00ea pode especificar vers\u00f5es, depend\u00eancias e scripts personalizados.<\/p>\n<p>H\u00e1 uma longa lista de comandos que v\u00eam com o utilit\u00e1rio NPM, incluindo <code>publish<\/code>, <code>audit<\/code>, <code>run<\/code>, e muito mais. Voc\u00ea pode verificar como usar estes comandos usando o comando de <code>npm help<\/code>.<\/p>\n<figure id=\"attachment_93419\" aria-describedby=\"caption-attachment-93419\" style=\"width: 685px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-93419 size-full\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2021\/04\/node-and-npm-version.png\" alt=\"Vers\u00e3o nodo e npm.\" width=\"685\" height=\"547\"><figcaption id=\"caption-attachment-93419\" class=\"wp-caption-text\">Vers\u00e3o nodo e npm.<\/figcaption><\/figure>\n<h3>Pacotes populares<\/h3>\n<p>Aqui est\u00e3o alguns dos pacotes mais populares para o Node.js hoje:<\/p>\n<ul>\n<li><a href=\"http:\/\/expressjs.com\"><strong>Express<\/strong><\/a> &#8211; Express.js, ou simplesmente Express, \u00e9 uma estrutura de desenvolvimento web inspirada no Sinatra para o Node.js, e o padr\u00e3o de fato para a maioria das aplica\u00e7\u00f5es do Node.js atualmente.<\/li>\n<li><a href=\"https:\/\/npmjs.org\/package\/mongodb\"><strong>MongoDB<\/strong><\/a> &#8211; O motorista oficial da MongoDB. Ele fornece a API para bancos de dados de objetos MongoDB no Node.js.<\/li>\n<li><a href=\"http:\/\/socket.io\"><strong>Socket.io<\/strong><\/a> &#8211; Socket permite a comunica\u00e7\u00e3o em tempo real, bidirecional e baseada em eventos.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/lodash\"><strong>Lodash<\/strong><\/a> &#8211; Lodash facilita o JavaScript, tirando o inc\u00f4modo de trabalhar com arrays, n\u00fameros, objetos, cordas, etc.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/moment\"><strong>Moment<\/strong><\/a> &#8211; Uma biblioteca JavaScript de datas para analisar, validar, manipular e formatar datas.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/commander\"><strong>Commander.js<\/strong><\/a> &#8211; Isto \u00e9 tudo que voc\u00ea precisa para trabalhar e construir com interfaces de linha de comando para o node.js.<\/li>\n<li><a href=\"https:\/\/npmjs.org\/package\/forever\"><strong>Para sempre<\/strong><\/a> &#8211; Uma ferramenta CLI simples para garantir que um determinado roteiro funcione continuamente (ou seja, para sempre). Mant\u00e9m seu processo Node.js em produ\u00e7\u00e3o diante de qualquer falha inesperada.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/async\"><strong>Async<\/strong><\/a> &#8211; Um m\u00f3dulo utilit\u00e1rio que fornece fun\u00e7\u00f5es simples e poderosas para trabalhar com JavaScript ass\u00edncrono.<\/li>\n<li><a href=\"https:\/\/github.com\/mranney\/node_redis\"><strong>Redis<\/strong><\/a> &#8211; Uma biblioteca de clientes para apoiar a integra\u00e7\u00e3o do banco de dados <a href=\"https:\/\/kinqsta.com\/pt\/docs\/hospedagem-de-wordpress\/cache\/cache-redis\/\">Redis<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/mochajs\/mocha\"><strong>Mocha<\/strong><\/a> &#8211; Uma estrutura de teste JavaScript limpa e flex\u00edvel para o Node.js e o navegador.<\/li>\n<li><a href=\"https:\/\/github.com\/jaredhanson\/passport\"><strong>Passaport<\/strong><\/a> &#8211; Autentica\u00e7\u00e3o simples e discreta para o Node.js. O \u00fanico objetivo do passaporte \u00e9 autenticar os pedidos.<\/li>\n<\/ul>\n<h2 id=\"hello-world-en-nodejs\" class=\"has-anchor-hash\">Hello World no Node.js<\/h2>\n<p>Como sempre, vamos come\u00e7ar com o programa b\u00e1sico &#8220;Hello World&#8221;, onde criamos um servidor no Node.js que retornar\u00e1 uma sa\u00edda do &#8220;Hello World&#8221; em um pedido de servidor. Antes de mergulhar, certifique-se de se preparar com um <a href=\"https:\/\/kinqsta.com\/pt\/blog\/melhores-editores-texto\/\">bom editor de texto<\/a>.<\/p>\n<p>Uma vez que voc\u00ea tenha aberto seu editor de texto, aqui est\u00e1 o c\u00f3digo que voc\u00ea usar\u00e1 para seu programa &#8220;Hello World&#8221;:<\/p>\n<pre><code class=\"language-js\">\/\/ server.js\nconst http = require('http');\n\nconst hostname = '127.0.0.1';\nconst port = 3000;\n\nconst server = http.createServer((req, res) =&gt; {\n  res.statusCode = 200;\n  res.setHeader('Content-Type', 'text\/plain');\n  res.end('Hello World! Welcome to Node.js');\n});\n\nserver.listen(port, hostname, () =&gt; {\n  console.log(`Server running at http:\/\/${hostname}:${port}\/`);\n});\n<\/code><\/pre>\n<p>Salvar este arquivo como `server.js`. Agora v\u00e1 para o terminal e inicie o servidor utilizando o comando:<\/p>\n<pre><code class=\"language-js\">node server.js\n<\/code><\/pre>\n<p>O servidor deve come\u00e7ar a funcionar agora. Para verificar a sa\u00edda, abra <em>http:\/\/localhost:3000 <\/em>em seu navegador. Voc\u00ea deve ver a mensagem &#8211;<\/p>\n<pre><code class=\"language-js\">Hello World! Welcome to Node.js\n<\/code><\/pre>\n<h3>Explica\u00e7\u00e3o do Hello World Server<\/h3>\n<p>O Node.js vem com um m\u00f3dulo embutido chamado &#8220;HTTP&#8221; que permite ao Node.js transferir dados atrav\u00e9s do <a href=\"https:\/\/kinqsta.com\/pt\/blog\/wordpress-http-api-parte-1\/#what-is-http\">Protocolo de Transfer\u00eancia de Hipertexto (HTTP)<\/a>.<\/p>\n<p>No c\u00f3digo acima, primeiro carregamos o m\u00f3dulo <strong>http <\/strong>em nosso programa. Em seguida, usamos o m\u00e9todo <strong>createServer <\/strong>para aceitar uma solicita\u00e7\u00e3o e retornar uma resposta com um c\u00f3digo de status. Finalmente, ouvimos em uma porta definida.<\/p>\n<p>Parab\u00e9ns &#8211; voc\u00ea acabou de criar seu primeiro servidor no Node.js! Na pr\u00f3xima se\u00e7\u00e3o, aprenderemos como usar a estrutura Express para criar um servidor.<\/p>\n<h2>Criando servidor usando Express<\/h2>\n<p>Em primeiro lugar, devemos discutir o que \u00e9 um servidor. Um servidor \u00e9 respons\u00e1vel por levar as solicita\u00e7\u00f5es dos clientes atrav\u00e9s de seu software (mais comumente <a href=\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-apache\/\">Apache<\/a> ou <a href=\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-nginx\/\">Nginx<\/a>), executando o conjunto de tarefas necess\u00e1rias e, finalmente, enviando respostas de volta aos clientes. Express \u00e9 uma estrutura que nos ajudar\u00e1 a criar um servidor no Node.<\/p>\n<p>Express.js \u00e9 uma estrutura m\u00ednima e flex\u00edvel de aplicativos web Node.js que fornece um conjunto robusto de recursos para aplicativos web e m\u00f3veis. Ele permite adicionar tabelas de rotas e configurar middleware em sua aplica\u00e7\u00e3o. Voc\u00ea pode <a href=\"https:\/\/kinqsta.com\/pt\/blog\/instalar-express\/\">instalar o Express<\/a> usando o comando abaixo.<\/p>\n<pre><code class=\"language-bash\">npm install express --save<\/code><\/pre>\n<p>Na se\u00e7\u00e3o anterior, utilizamos o utilit\u00e1rio <strong>http <\/strong>embutido para criar um servidor. Agora, vamos criar um servidor &#8220;Hello World&#8221; usando o Express.js.<\/p>\n<p>Abra seu editor de texto e digite este c\u00f3digo:<\/p>\n<pre><code class=\"language-js\">\n\/\/ server-express.js\nconst express = require('express')\nconst app = express() \/\/ initialize app\nconst port = 3000\n\n\/\/ GET callback function returns a response message\napp.get('\/', (req, res) =&gt; {\nres.send('Hello World! Welcome to Node.js')\n})\n\napp.listen(port, () =&gt; {\nconsole.log(`Server listening at http:\/\/localhost:${port}`)\n})\n<\/code><\/pre>\n<p>Em seguida, executaremos nosso servidor com o seguinte comando.<\/p>\n<pre><code class=\"language-bash\">node server-express.js\n<\/code><\/pre>\n<p>Verifique agora <em>http:\/\/localhost:3000 <\/em>em seu navegador para ver a sa\u00edda &#8220;Hello World&#8221;.<\/p>\n<h2>Resumo<\/h2>\n<p>Em poucas palavras, Node.js \u00e9 um ambiente de programa\u00e7\u00e3o popular que pode ser usado para construir aplicativos de alta escala que precisam suportar v\u00e1rios pedidos simult\u00e2neos. A E\/S sem bloqueio de uma \u00fanica rosca faz dela uma excelente escolha tanto para aplicativos em tempo real quanto para aplicativos de fluxo de dados tamb\u00e9m.<\/p>\n<p>Para refor\u00e7\u00e1-lo, ainda mais, o Node.js tem uma comunidade maci\u00e7a de desenvolvedores ativos e possui o maior reposit\u00f3rio de pacotes de c\u00f3digo aberto do mundo, o NPM, que atualmente cont\u00e9m mais de um milh\u00e3o de pacotes.<\/p>\n<p>\u00c9 f\u00e1cil come\u00e7ar com o Node.js. Cobrimos como instalar e criar um servidor no Node.js, ent\u00e3o tudo o que resta \u00e9 considerar como voc\u00ea vai usar e implantar o Node.js em sua pr\u00f3pria pilha. Voc\u00ea tamb\u00e9m pode expandir seu conhecimento visitando a documenta\u00e7\u00e3o oficial do Node.js em <a href=\"https:\/\/nodejs.org\/en\/docs\">nodejs.dev<\/a>.<\/p>\n<kinsta-video src=\"https:\/\/www.youtube.com\/watch?v=vmNem6wxfSQ\"><\/kinsta-video>\n","protected":false},"excerpt":{"rendered":"<p>O JavaScript \u00e9 uma das linguagens de programa\u00e7\u00e3o mais populares do mundo. Ela alimenta milh\u00f5es de websites hoje, e tem atra\u00eddo multid\u00f5es de desenvolvedores e designers &#8230;<\/p>\n","protected":false},"author":166,"featured_media":42737,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[977,992],"class_list":["post-42732","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-frameworks-javascript","topic-node-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>O Que \u00e9 Node.js e Por Que Us\u00e1-lo? - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"O Node.js \u00e9 um ambiente JavaScript altamente escal\u00e1vel e orientado a eventos. Neste artigo, saiba mais sobre o Node.js, sua arquitetura, como utiliz\u00e1-lo e muito mais.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O Que \u00e9 Node.js e Por Que Us\u00e1-lo?\" \/>\n<meta property=\"og:description\" content=\"O Node.js \u00e9 um ambiente JavaScript altamente escal\u00e1vel e orientado a eventos. Neste artigo, saiba mais sobre o Node.js, sua arquitetura, como utiliz\u00e1-lo e muito mais.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-04T06:49:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T20:06:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Mohit Khare\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"O Node.js \u00e9 um ambiente JavaScript altamente escal\u00e1vel e orientado a eventos. Neste artigo, saiba mais sobre o Node.js, sua arquitetura, como utiliz\u00e1-lo e muito mais.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@mkfeuhrer\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mohit Khare\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/\"},\"author\":{\"name\":\"Mohit Khare\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/9732e9984155d30593951b35641d45bc\"},\"headline\":\"O Que \u00e9 Node.js e Por Que Us\u00e1-lo?\",\"datePublished\":\"2021-05-04T06:49:37+00:00\",\"dateModified\":\"2025-10-01T20:06:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/\"},\"wordCount\":3031,\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg\",\"inLanguage\":\"pt-PT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/\",\"url\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/\",\"name\":\"O Que \u00e9 Node.js e Por Que Us\u00e1-lo? - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg\",\"datePublished\":\"2021-05-04T06:49:37+00:00\",\"dateModified\":\"2025-10-01T20:06:07+00:00\",\"description\":\"O Node.js \u00e9 um ambiente JavaScript altamente escal\u00e1vel e orientado a eventos. Neste artigo, saiba mais sobre o Node.js, sua arquitetura, como utiliz\u00e1-lo e muito mais.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#primaryimage\",\"url\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg\",\"width\":1460,\"height\":730,\"caption\":\"O que \u00e9 Node.js e por que voc\u00ea deve us\u00e1-lo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinqsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\",\"item\":\"https:\/\/kinqsta.com\/pt\/topicos\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"O Que \u00e9 Node.js e Por Que Us\u00e1-lo?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#website\",\"url\":\"https:\/\/kinqsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinqsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/9732e9984155d30593951b35641d45bc\",\"name\":\"Mohit Khare\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/20a9f3cdac263d3cce62849265bd90c1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/20a9f3cdac263d3cce62849265bd90c1?s=96&d=mm&r=g\",\"caption\":\"Mohit Khare\"},\"description\":\"Developer soul from India who loves building and breaking stuff. I share learnings on my blog and on Twitter - @mkfeuhrer Let's build something together :)\",\"sameAs\":[\"https:\/\/www.mohitkhare.com\/\",\"https:\/\/www.linkedin.com\/in\/mohitkhare1996\/\",\"https:\/\/x.com\/mkfeuhrer\"],\"url\":\"https:\/\/kinqsta.com\/pt\/blog\/author\/mohit\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"O Que \u00e9 Node.js e Por Que Us\u00e1-lo? - Kinsta\u00ae","description":"O Node.js \u00e9 um ambiente JavaScript altamente escal\u00e1vel e orientado a eventos. Neste artigo, saiba mais sobre o Node.js, sua arquitetura, como utiliz\u00e1-lo e muito mais.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/","og_locale":"pt_PT","og_type":"article","og_title":"O Que \u00e9 Node.js e Por Que Us\u00e1-lo?","og_description":"O Node.js \u00e9 um ambiente JavaScript altamente escal\u00e1vel e orientado a eventos. Neste artigo, saiba mais sobre o Node.js, sua arquitetura, como utiliz\u00e1-lo e muito mais.","og_url":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2021-05-04T06:49:37+00:00","article_modified_time":"2025-10-01T20:06:07+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg","type":"image\/jpeg"}],"author":"Mohit Khare","twitter_card":"summary_large_image","twitter_description":"O Node.js \u00e9 um ambiente JavaScript altamente escal\u00e1vel e orientado a eventos. Neste artigo, saiba mais sobre o Node.js, sua arquitetura, como utiliz\u00e1-lo e muito mais.","twitter_image":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg","twitter_creator":"@mkfeuhrer","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Mohit Khare","Tempo estimado de leitura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#article","isPartOf":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/"},"author":{"name":"Mohit Khare","@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/9732e9984155d30593951b35641d45bc"},"headline":"O Que \u00e9 Node.js e Por Que Us\u00e1-lo?","datePublished":"2021-05-04T06:49:37+00:00","dateModified":"2025-10-01T20:06:07+00:00","mainEntityOfPage":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/"},"wordCount":3031,"publisher":{"@id":"https:\/\/kinqsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg","inLanguage":"pt-PT"},{"@type":"WebPage","@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/","url":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/","name":"O Que \u00e9 Node.js e Por Que Us\u00e1-lo? - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinqsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#primaryimage"},"image":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg","datePublished":"2021-05-04T06:49:37+00:00","dateModified":"2025-10-01T20:06:07+00:00","description":"O Node.js \u00e9 um ambiente JavaScript altamente escal\u00e1vel e orientado a eventos. Neste artigo, saiba mais sobre o Node.js, sua arquitetura, como utiliz\u00e1-lo e muito mais.","breadcrumb":{"@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#primaryimage","url":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg","contentUrl":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2021\/05\/what-is-node-js-featured-image.jpeg","width":1460,"height":730,"caption":"O que \u00e9 Node.js e por que voc\u00ea deve us\u00e1-lo"},{"@type":"BreadcrumbList","@id":"https:\/\/kinqsta.com\/pt\/blog\/o-que-e-node-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinqsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Node.js","item":"https:\/\/kinqsta.com\/pt\/topicos\/node-js\/"},{"@type":"ListItem","position":3,"name":"O Que \u00e9 Node.js e Por Que Us\u00e1-lo?"}]},{"@type":"WebSite","@id":"https:\/\/kinqsta.com\/pt\/#website","url":"https:\/\/kinqsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinqsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinqsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinqsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinqsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinqsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/9732e9984155d30593951b35641d45bc","name":"Mohit Khare","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinqsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/20a9f3cdac263d3cce62849265bd90c1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/20a9f3cdac263d3cce62849265bd90c1?s=96&d=mm&r=g","caption":"Mohit Khare"},"description":"Developer soul from India who loves building and breaking stuff. I share learnings on my blog and on Twitter - @mkfeuhrer Let's build something together :)","sameAs":["https:\/\/www.mohitkhare.com\/","https:\/\/www.linkedin.com\/in\/mohitkhare1996\/","https:\/\/x.com\/mkfeuhrer"],"url":"https:\/\/kinqsta.com\/pt\/blog\/author\/mohit\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/posts\/42732","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/users\/166"}],"replies":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/comments?post=42732"}],"version-history":[{"count":8,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/posts\/42732\/revisions"}],"predecessor-version":[{"id":61934,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/posts\/42732\/revisions\/61934"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/translations\/en"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/translations\/fr"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/translations\/it"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/translations\/es"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/translations\/pt"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/translations\/de"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/translations\/se"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/translations\/jp"},{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/42732\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/media\/42737"}],"wp:attachment":[{"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/media?parent=42732"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/tags?post=42732"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinqsta.com\/pt\/wp-json\/wp\/v2\/topic?post=42732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}