Node.js é um framework JavaScript para aplicações de rede escaláveis que roda fora do navegador usando um modelo de I/O não bloqueante e event loops. Ele foi criado em 2009 por Ryan Dahl e usa o motor V8 do Google Chrome. Node.js é usado principalmente para desenvolvimento web com frameworks como Express e acesso a dados com MongoDB e o módulo Mongoose.
2. INTRODUÇÃO
É Javascript sendo executado em um ambiente
fora do navegador.
Node.js é um framework de aplicações de rede de
alto desempenho, bem otimizado para ambientes
de acesso simultâneo.
É uma ferramenta de linha de comando.
No site oficial:
‘Node's goal is to provide an easy way to build
scalable network programs’
‘O objetivo do Node é fornecer uma maneira fácil de
construir programas de rede escaláveis’
3. INTRODUÇÃO
Node usa um modelo de I/O não bloqueante
baseado em eventos, isso faz com que seja leve.
Ele faz uso de event-loops através de chamadas
de retorno (callback) para implementar o modelo
não bloqueante.
Não existe nenhuma implementação DOM
fornecido pelo Node.js, ou seja, você não pode
fazer isso:
var elemento = document.getElementById
("elementId");
4. HISTÓRIA
Criado por Ryan Dahl em 2009.
Roda em cima do motor V8.
V8 é um interpretador Javascript open source
mantido pela google, é o mesmo utilizado no
Google Chrome.
Ainda na versão beta 0.10.28.
É open source feito para rodar em Linux, porém
roda em Windows também.
Altamente aceito pela comunidade
6. NPM
Node.js depende de módulos para executar suas
tarefas.
Novos módulos podem ser instalados facilmente
com o gerenciador de pacotes NPM.
O NPM (Node Package Manager) vem instalado
junto com o NodeJs.
npm install [nomepacote] para instalar um novo
pacote
Para buscar novos pacotes usamos o comando
npm search [nome]
-g instala pacotes globalmente.
Le arquivo packages.json.
7. DESENVOLVIMENTO WEB
Framework para gerenciar rotas, requisições e
respostas.
Express é o framework mais popular para
gerencimento de aplicações web.
Tem a capacidade de trabalhar na arquitetura MVC
(MVR)
9. ACESSO A DADOS
Não trabalha bem com banco de dados relacionais.
Trabalha com banco de dados NoSQL
Muito utilizado com MongoDB, com o módulo
‘Mongoose’