NodeJS
Node.js® é um ambiente de execução JavaScript gratuito, de código aberto e multiplataforma que permite aos desenvolvedores criar servidores, aplicativos da web, ferramentas de linha de comando e scripts.
O Node.js executa o mecanismo JavaScript V8, o núcleo do Google Chrome, fora do navegador. Isso permite que o Node.js tenha um ótimo desempenho.
Um aplicativo Node.js é executado em um único processo, sem criar uma nova thread para cada solicitação. O Node.js fornece um conjunto de primitivas de E/S assíncronas em sua biblioteca padrão que impedem o bloqueio de código JavaScript e, geralmente, as bibliotecas em Node.js são escritas usando paradigmas não bloqueantes, tornando o comportamento de bloqueio a exceção e não a norma.
Quando o Node.js executa uma operação de E/S, como ler da rede, acessar um banco de dados ou o sistema de arquivos, em vez de bloquear o thread e desperdiçar ciclos de CPU esperando, o Node.js retomará as operações quando a resposta retornar.
Isso permite que o Node.js lide com milhares de conexões simultâneas com um único servidor sem introduzir o fardo de gerenciar a simultaneidade de threads, o que pode ser uma fonte significativa de bugs.
O Node.js tem uma vantagem única porque milhões de desenvolvedores front-end que escrevem JavaScript para o navegador agora podem escrever o código do lado do servidor, além do código do lado do cliente, sem a necessidade de aprender uma linguagem completamente diferente.
No Node.js, os novos padrões ECMAScript podem ser usados sem problemas, pois você não precisa esperar que todos os seus usuários atualizem seus navegadores. Você é responsável por decidir qual versão do ECMAScript usar, alterando a versão do Node.js, e também pode habilitar recursos experimentais específicos executando o Node.js com sinalizadores.
Um exemplo de aplicação Node.js
O exemplo mais comum de Hello World do Node.js é um servidor web:
Para executar este trecho, salve-o como o arquivo server.jsa e execute a instrução node server.js no seu terminal.
O servidor está configurado para escutar na porta e no nome do host especificados. Quando o servidor estiver pronto, a função de retorno de chamada será chamada, neste caso nos informando que o servidor está em execução.
Sempre que uma nova solicitação é recebida, o requestevento é chamado, fornecendo dois objetos: uma solicitação (um http.IncomingMessageobjeto) e uma resposta (um http.ServerResponseobjeto).
Esses 2 objetos são essenciais para manipular a chamada HTTP.
O primeiro fornece os detalhes da solicitação. Neste exemplo simples, isso não é usado, mas você pode acessar os cabeçalhos e os dados da solicitação.
O segundo é usado para retornar dados ao chamador.
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.
NodeJS no Windows
Próximo