quinta-feira, 27 de agosto de 2015

Node.js - o que é? Como funciona?


Introdução


Estou escrevendo esse post para você, que assim como, eu começou a ler e estudar um pouco mais sobre essa tecnologia. Comecei a dar mais atenção a essa tecnologia no ano passado (2014) quando um amigo compartilhou suas experiências e começamos a fazer um projeto usando-a.

Definição

O Node.js é uma plataforma de execução Javascript fora do Navegador. A definição oficial:

"a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and effi- cient, perfect for data-intensive real-time applications that run across distributed devices" nodejs.org

Características

  • Node.js é event-driven.
  • Aplicações de alto desempenho em javascript
  • I/O não bloqueante
  • Ele usa uma single-thread que lida com todas as requisições. Delega todas as operações de IO para não bloquear sua thread principal.
  •  Node usa uma máquina virtual (V8), que mantém-se com o ECMAScript standard. Em outras palavras, você não tem que esperar por todos os navegadores para começar a usar novos recursos de linguagem JavaScript em Node.

Processo

1) Quando uma requisição chega, uma função de callback é chamada, e o servidor fica pronto para atender uma nova requisição.
2) Servidor lida com mais requisições a medida que ele vão sendo requisitados
3) Servidor fornece a resposta para o cliente quando a requisição concluiu o processamento.




Referências

Node.js in Action
nodejs.org