Compartilhar via


O que é NodeJS?

Node.js é um ambiente de runtime JavaScript de código aberto, multiplataforma e no lado do servidor, baseado no motor JavaScript V8 do Chrome, originalmente desenvolvido por Ryan Dahl e lançado em 2009.

O Node.js funciona no Windows?

Sim. O Windows dá suporte a dois ambientes diferentes para o desenvolvimento de aplicativos com Node.js:

O que você pode fazer com o NodeJS?

Node.js é usado principalmente para criar aplicativos Web rápidos e escalonáveis. Ele usa um modelo de E/S sem bloqueio controlado por eventos, tornando-o leve e eficiente. É uma ótima estrutura para aplicativos com uso intensivo de dados em tempo real que são executados em dispositivos distribuídos. Aqui estão alguns exemplos do que você pode criar com Node.js.

  • Aplicativos de página única (SPAs): são aplicativos Web que funcionam dentro de um navegador e não precisam recarregar uma página toda vez que você usá-la para obter novos dados. Alguns exemplos de SPAs incluem aplicativos de rede social, aplicativos de email ou mapa, texto online ou ferramentas de desenho, etc.
  • RTAs (aplicativos em tempo real): são aplicativos Web que permitem que os usuários recebam informações assim que são publicadas por um autor, em vez de exigir que o usuário (ou software) verifique uma fonte periodicamente para obter atualizações. Alguns exemplos de RTAs incluem aplicativos de mensagens instantâneas ou salas de chat, jogos multijogador online que podem ser jogados no navegador, documentos de colaboração online, armazenamento da comunidade, aplicativos de videoconferência etc.
  • Aplicativos de streaming de dados: são aplicativos (ou serviços) que enviam dados/conteúdo à medida que chegam (ou são criados) mantendo a conexão aberta para continuar baixando mais dados, conteúdo ou componentes, conforme necessário. Alguns exemplos incluem aplicativos de streaming de vídeo e áudio.
  • APIs REST: são interfaces que fornecem dados para que o aplicativo web de outra pessoa interaja. Por exemplo, um serviço de API de Calendário poderia fornecer datas e horas para um local de concerto que poderia ser usado pelo site de eventos locais de outra pessoa.
  • Aplicativos renderizados no lado do servidor (SSRs): Esses aplicativos web podem ser executados tanto no cliente (no navegador/na interface do usuário) quanto no servidor (no back-end), permitindo que páginas dinâmicas exibam todo o conteúdo conhecido e obtenham rapidamente o conteúdo não conhecido assim que ele estiver disponível. Geralmente, eles são chamados de aplicativos "isomórficos" ou "universais". Os SSRs utilizam métodos SPA, de modo que não precisam ser recarregados toda vez que usados. As SSRs, no entanto, oferecem alguns benefícios que podem ou não ser importantes para você, como fazer com que o conteúdo em seu site apareça nos resultados da pesquisa do Google e fornecer uma imagem de visualização quando links para seu aplicativo são compartilhados em mídias sociais como X ou Facebook. A possível desvantagem é que eles exigem um servidor Node.js em execução constante. Em termos de exemplos, um aplicativo de rede social que apoia eventos nos quais os usuários querem que apareçam nos resultados de pesquisa e nas redes sociais pode se beneficiar do SSR, enquanto um aplicativo de email pode funcionar bem como um SPA. Você também pode executar aplicativos sem SPA renderizados pelo servidor, que podem ser algo como um blog do WordPress. Como você pode ver, as coisas podem ficar complicadas, você só precisa decidir o que é importante.
  • Ferramentas de linha de comando: elas permitem automatizar tarefas repetitivas e distribuir sua ferramenta no vasto ecossistema de Node.js. Um exemplo de uma ferramenta de linha de comando é cURL, que representa a URL do cliente e é usada para baixar conteúdo de uma URL da Internet. O cURL geralmente é usado para instalar itens como Node.js ou, em nosso caso, um gerenciador de versão Node.js.
  • Programação de hardware: embora não seja tão popular quanto os aplicativos Web, Node.js está crescendo em popularidade para usos de IoT, como coletar dados de sensores, sinalizadores, transmissores, motores ou qualquer coisa que gere grandes quantidades de dados. Node.js pode habilitar a coleta de dados, analisando esses dados, comunicando-se entre um dispositivo e um servidor e tomando medidas com base na análise. O NPM contém mais de 80 pacotes para controladores Arduino, raspberry pi, Intel IoT Edison, vários sensores e dispositivos Bluetooth.

Próximas etapas