Por que não devo usar !!! 
Ederson de Lima 
edersondelima@gmail.com
Agenda 
Motivação 
O que é esse tal de Node.js ? 
Por que eu usaria o Node.js ? 
Mãos na massa 
Por que eu não devo usar Node.js 
Dicas
Motivação
Motivação 
Vergonha na cara !!! 
Ter mais uma ferramenta disponível 
Ir contra ao aceitável - Quem não sabe não reclama 
Aprender JavaScript - ;(
O que é esse tal de Node.js ? 
Modelo orientado a Eventos e non-blocking I/O 
Plataforma construída sobre a engine V8 do Google Chrome 
Single-Thread - Event-loop
O que é esse tal de Node.js ? 
Outras plataformas bloqueiam o processo enquanto 
utilizam i/o 
para tentar amenizar podemos utilizar thread, mas a 
thread ainda assim fica bloqueada enquanto espera o i/o 
Cada requisição do usuário abre uma nova thread, que é 
enfileirada para utilizar uma a uma o i/o. (tempo ocioso 
mantendo a fila enquanto executa um i/o)
O que é esse tal de Node.js ? 
JavaScript V8 - Google Chrome 
Interpretador feito em C++ 
JavaScript 
EventLoop Chrome V8 
libuv 
assinc. I/O 
(multi 
plataforma) 
Sistema 
Operacional 
App 
Node.js
O que é esse tal de Node.js ? 
Single-Thread - Event loop 
Single thread - apenas um único processo instanciado 
Não é multi-thread (da para fazer concorrência com 
módulo cluster) 
não tem paralelismo mas tem recurso assíncrono 
EventLoop - baseado (quero) no event machine do ruby e 
twisted do python 
loop infinito com mecanismo de escutar e notificar a fila 
de eventos através de callback
O que é esse tal de Node.js ? 
Eventos ? 
jQuery 
Node.js
Por que eu usaria Node.js ? 
“Quem não sabe não reclama.” 
Resolver problemas de I/O bloqueante 
Comunicação em tempo real (Chat, Gráficos, …) 
Pequenas API acessando banco de dados 
Minimalista 
CSS / javascript / XML / JSON / DB / NoSql ….. + Node.js
Mãos na Massa 
console
Mãos na Massa 
مرحبا العالم
Mãos na Massa 
npm - Node Packaged Modules 
package.json 
Express 
MVC 
Testes
Por que eu não devo usar Node.js ? 
JavaScr ipt !!!
Por que eu não devo usar Node.js ? 
JavaScript - Everywhere 
a mesma linguagem JavaScript do client-side
Por que eu não devo usar Node.js ? 
“Se você tem que escrever um bom código, Tem que ser 
no html. 
Não quero nem saber do seu ruby, php, asp.net, java, ou 
sei lá o que você escreve ! 
Se a gente tem que escrever coisa boa, escreva bom 
html"
Cade o VIM ?
http://wtfjs.com
Dicas 
Google JavaScript Style Guide 
https://github.com/caolan/async 
Sequelize 
Strider - CI em Node 
Meteor - framework web full-stack 
pm2 - (gerencia processos; hot deploy; cluster; log)
Único que faz as 
Changes emergenciais 
que vc precisa
? 
Ederson de Lima 
edersondelima@gmail.com

Node js

  • 1.
    Por que nãodevo usar !!! Ederson de Lima edersondelima@gmail.com
  • 2.
    Agenda Motivação Oque é esse tal de Node.js ? Por que eu usaria o Node.js ? Mãos na massa Por que eu não devo usar Node.js Dicas
  • 3.
  • 4.
    Motivação Vergonha nacara !!! Ter mais uma ferramenta disponível Ir contra ao aceitável - Quem não sabe não reclama Aprender JavaScript - ;(
  • 5.
    O que éesse tal de Node.js ? Modelo orientado a Eventos e non-blocking I/O Plataforma construída sobre a engine V8 do Google Chrome Single-Thread - Event-loop
  • 6.
    O que éesse tal de Node.js ? Outras plataformas bloqueiam o processo enquanto utilizam i/o para tentar amenizar podemos utilizar thread, mas a thread ainda assim fica bloqueada enquanto espera o i/o Cada requisição do usuário abre uma nova thread, que é enfileirada para utilizar uma a uma o i/o. (tempo ocioso mantendo a fila enquanto executa um i/o)
  • 7.
    O que éesse tal de Node.js ? JavaScript V8 - Google Chrome Interpretador feito em C++ JavaScript EventLoop Chrome V8 libuv assinc. I/O (multi plataforma) Sistema Operacional App Node.js
  • 8.
    O que éesse tal de Node.js ? Single-Thread - Event loop Single thread - apenas um único processo instanciado Não é multi-thread (da para fazer concorrência com módulo cluster) não tem paralelismo mas tem recurso assíncrono EventLoop - baseado (quero) no event machine do ruby e twisted do python loop infinito com mecanismo de escutar e notificar a fila de eventos através de callback
  • 9.
    O que éesse tal de Node.js ? Eventos ? jQuery Node.js
  • 11.
    Por que euusaria Node.js ? “Quem não sabe não reclama.” Resolver problemas de I/O bloqueante Comunicação em tempo real (Chat, Gráficos, …) Pequenas API acessando banco de dados Minimalista CSS / javascript / XML / JSON / DB / NoSql ….. + Node.js
  • 12.
  • 13.
    Mãos na Massa مرحبا العالم
  • 14.
    Mãos na Massa npm - Node Packaged Modules package.json Express MVC Testes
  • 15.
    Por que eunão devo usar Node.js ? JavaScr ipt !!!
  • 16.
    Por que eunão devo usar Node.js ? JavaScript - Everywhere a mesma linguagem JavaScript do client-side
  • 17.
    Por que eunão devo usar Node.js ? “Se você tem que escrever um bom código, Tem que ser no html. Não quero nem saber do seu ruby, php, asp.net, java, ou sei lá o que você escreve ! Se a gente tem que escrever coisa boa, escreva bom html"
  • 18.
  • 19.
  • 20.
    Dicas Google JavaScriptStyle Guide https://github.com/caolan/async Sequelize Strider - CI em Node Meteor - framework web full-stack pm2 - (gerencia processos; hot deploy; cluster; log)
  • 21.
    Único que fazas Changes emergenciais que vc precisa
  • 22.
    ? Ederson deLima edersondelima@gmail.com