Node.js é uma plataforma de código aberto construída no motor JavaScript do Google Chrome (motor V8). Ele executa o código JavaScript fora de um navegador da web e é projetado para construir aplicativos de rede escalonáveis. Ele usa um modelo de entrada / saída orientado a eventos e sem bloqueio e é influenciado por Ruby EventMachine e Python's Twisted. O Node.js permite que os desenvolvedores usem JavaScript para escrever ferramentas de linha de comando e usar scripts do lado do servidor, que emprega scripts em um servidor da web para produzir uma resposta personalizada para cada solicitação do cliente ao site.
Node.js foi desenvolvido por Ryan Dahl em 2009. A versão inicial suportava apenas Linux e Mac OS X. Embora .js seja a extensão de nome de arquivo padrão para código JavaScript, o nome Node.js não se refere a um arquivo específico e é apenas o nome do produto.
Como funciona o Node.js
O mecanismo do servidor usa um modelo de E / S não bloqueador baseado em eventos, o que significa que a adaptação do JavaScript à linguagem de máquina é mais fácil e o código pode ser executado de forma rápida e simples. Em comparação com as técnicas tradicionais de serviço da Web, em que cada solicitação gera um novo thread, o Node.js opera em um loop de evento de thread único. Isso ajuda os servidores a responder de forma não bloqueadora e torna o servidor altamente escalonável.
Node.js oferece suporte integrado para gerenciamento de pacotes usando o Node Package Manager (NPM). É uma ferramenta padrão que vem com todas as instalações do Node.js. O NPM contém milhões de bibliotecas para download gratuito de acordo com requisitos específicos. Qualquer pessoa pode publicar seu próprio módulo para ser listado no repositório NPM. Módulos NPM populares incluem:
- Express: Uma estrutura de desenvolvimento da web inspirada em Sinatra (sim, há uma linguagem de programação chamada Ol 'Blue Eyes)
- Hapi: Uma estrutura centrada em configuração modular para a construção de aplicativos da web e de serviço
- Conecte-se:: Uma estrutura de servidor HTTP extensível que fornece uma coleção de plug-ins conhecidos como middleware
- Redis: Biblioteca cliente Redis
- Para sempre: Um dos utilitários mais comuns para garantir que um determinado script de nó seja executado continuamente
- Momento: Uma biblioteca de datas JavaScript para analisar, validar, manipular e formatar datas
Node.js usa
Node.js pode ser usado para:
- Back-end para redes de mídia social
- Desenvolvimento de aplicativos de página única
- Chatbots
- Streaming de dados
- Desenvolvimento de aplicativos IoT
- Aplicativos em tempo real com uso intensivo de dados
Não é aconselhável usar Node.js para aplicativos com uso intensivo de CPU.