Workshop apresentado em 21/08 em Porto Alegre.
Códigos mostrados durante o workshop https://gist.github.com/ricardobeat/6314596.
Conteúdo e mais informações em http://workshop-node.desorientados.com.br.
Workshop Node.jscom @ricardobeat e @jcemer
View Slide
JavaScript no servidor
Por que Node.js?
async
Javascript
Módulos
1. Detecção deeventos2. Tratamento dosmesmos(tick)
Concorrência&Escalabilidade
Realtime
1m conexões1 servidor16GB RAM40.000 mensagens/s~70mshttp://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections
node_modules
CommonJS
Organizando códigousando módulos
Small coremany (small) modules
http://hughsk.github.io/disc/
Event Emitter
Event Emitter é usado em todo o coredo node.js
API e módulos nativos
Streams
Interface usada para interagir comfluxos de dados assíncronosBaseada em event emitters
ReadableWritableTransform.pipe()
Utilizada para ler/escrever dados deum arquivo (ou HTTP)
https://github.com/substack/stream-handbook
Controle de fluxohttps://github.com/caolan/async
Promises
Generators
https://github.com/visionmedia/co
Coffee break
Construíndo umaaplicação
HTTP
Fonte: Kurose
google.comGET
200 OK
Express.jshttp://expressjs.com/applications.html
WebSockets
Socket.io
Eventos em tempo real
Backbone
NoSQL
npm install mongoose
npm install redis
npm install level
Testes
Standalone test spies, stubs andmocks for JavaScript.
Guest talkRodrigo Krummenauer doNascimentoDesenvolvedor e empresário focado nasstartups carddi.mobi e konecty.com
Build & Deploy
CoffeeScript
Linguagem que compilapara Javascript
Deploy
Obrigado :)