Node.js for Noobs
-
Upload
caio-ribeiro-pereira -
Category
Technology
-
view
1.244 -
download
2
Transcript of Node.js for Noobs
About me
Web Developer (Entusiasta JS)
Blogger (udgwebdev.com)
Escritor (Casa do Código)
O que vamos ver?
Node.js
Big players
NPM (Node Package Manager)
Socket.IO
Microblog realtime na prática
Características do Node.js
Plataforma web/mobile/desktop
JavaScript Server-side
Non-blocking I/O
Programação Async e Sync
Desenvolvimento modular
Sobre a plataformaCompatível nativamente:
HTTP/HTTPS
TCP/UDP
DNS
WebSockets
E muito mais via módulos 3rd-party!
JavaScript V8 + Server-side = Node.js
Node.js usa motor JavaScript V8, o mesmo usado no Google Chrome
Non-Blocking I/O
Node.js roda em single-thread
Não existe dead-locks
Execução de I/O é não-blocante
Funções async são não-blocante
Node Package Manager
Gerenciador de dependências
+170k de módulos Node.js
+20 milhões de downloads por dia!
Integrado no Node.js desde versão 0.6.0
Principais comandos npm
npm init - Cria um package.json
npm install <módulo> - instala um módulo
npm remove <módulo> - remove um módulo
npm update <módulo> - atualiza um módulo
Mais comandos do npm https://docs.npmjs.com
Anatomia do package.json
{ “name”: “nome-do-modulo”, “description”: “descricao do modulo”, “version”: “1.0.0”, “author”: “Nome <email>”, “dependencies”: { "moduloX": "1.0.0", "moduloY": "2.0.0" }
}
Socket.IOWrapper do protocolo WebSocket
Comunicação bidirecional (realtime)
Comunicação via eventos
Faz fallback em browsers antigos
FlashSocket
Ajax Long-Pooling
Para instalar: npm install socket.io
Microblog realtime na prática
github.com/caio-ribeiro-pereira/microblog