Node.js?
Node.js não é um servidor Web.
Node.js?
• Server-side Javascript
• V8
• Events, non-block I/O
• CommonJS module system
• Server-side Javascript
• V8
• Events, non-block I/O
• CommonJS module system
Event Loop vs Threads
Event Loop (Node.js)
• 1 única Thread.
• Não bloqueia I/O.
• Não há problema com lock.
• Não usa mais memória com novos eventos.
Deixa o SO tratar o I/O e espera a resposta
sem travar os recursos.
Threads
• Cada Thread requer memória.
• Troca de Thread é custosa para o CPU.
• Problema com o lock.
Back-end x Front-end.
https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node
Prós
• Front-end e Back-end com o mesmo código;
• Comunidade gigantesca;
• Muitas boas bibliotecas surgem por dia;
• I/O assíncrono.
• Ótimo em caso de que o problema é o I/O
Contras
• Javascript é uma linguagem ruim (Maurício
Linhares, Javascript from Hell).
– Não é OO.
– NaN !== NaN
– typeof NaN === “number”
• Node.js novo, bibliotecas novas;
• Callback hell;
• Não existe algo que chegue perto do Rails ou
do Django.
Obrigado!

Node.js - Worksigma

Notas do Editor

  • #2 Se apresenta. O que é, vantagens, desvantagens e casos de sucesso.
  • #3 Node.js é um interpretador de código JavaScript que funciona do lado do servidor. Node definitivamente é um servidor Web
  • #4 Node.js é um interpretador de código JavaScript que funciona do lado do servidor. Node definitivamente é um servidor Web
  • #5 Ryan Dahl, criador do node.js
  • #7 Back-end antes estava separado do Front. Agora esta mais próximo. Desacoplamento
  • #8 Back-end antes estava separado do Front. Agora esta mais próximo. Desacoplamento
  • #13 Back-end antes estava separado do Front. Agora esta mais próximo. Desacoplamento
  • #16 Account / Usuário
  • #17 Back-end antes estava separado do Front. Agora esta mais próximo. Desacoplamento
  • #18 Account / Usuário
  • #19 Account / Usuário
  • #20 Account / Usuário
  • #21 Account / Usuário
  • #22 Account / Usuário
  • #23 Account / Usuário
  • #24 Account / Usuário