Introdução sobre 2˚ Encontro
Quem sou eu? Caio Ribeiro Pereira Desenvolvedor na Cocento Tecnologia Sistemas de Informação na Unisantos Twitter:  @crp_underground Email:  [email_address] Blogs: http://www.udglinux.com http://udgwebdev.wordpress.com http://crpunderground.wordpress.com
Sobre o Node.js Criador: Ryan Lienhart Dahl; Lançado em 2009; Linguagens utilizada: C++  com 8000 linhas; Javascript  com 2000 linhas; 14 colaboradores no projeto; 5100 repositórios no Github; 1129 módulos existente; Versão estável 0.4.12 apenas para Linux e Mac; Versão instável 0.5.10 para Windows;
Introdução Servidor web de alta escalabilidade. Utiliza linguagem Javascript V8.
Principais características
Orientado a eventos de I/O
Compilação Just-in-time
Abstrai funções assíncronas
Concorrência com Threads Não-Bloqueantes Analogia para  Threads Bloqueantes
Analogia para  Threads Não-Bloqueantes Concorrência com Threads Não-Bloqueantes
Servidores web atuais Twisted – Python -  http://twistedmatrix.com Tornado – Python -  http://tornadoweb.org Thin  –  Ruby -  http://code.macournoyer.com/thin EventMachine  –  Ruby  http://rubyeventmachine.com Grizzly  –  Java  http://grizzly.java.net Node.js  –  Javascript  http://nodejs.org
Teste de escalabilidade No blog do  AkitaOnRails , há um post em que ele apresenta uns testes de escalabilidade com esses servidores. Twisted: 4398.17 req/s Tornado: 2498.16 req/s Thin (Ruby 1.8.7): 4619.13 req/s Thin (Ruby 1.9.1): 4777.00 req/s Grizzly: 3523.71 req/s EventMachine: não conseguiu testar Node.js: 6310.62 req/s Fonte:   Blog AkitaOnRails - Brincando com node.js, tornado e thin
Em que Node.js é bom? Construção de um Web Service Restful; Gerenciar fila de concorrências; Servidor de imagens; Resposta em tempo real;
Em que Node.js é ruim? Construção de páginas dinâmicas; Aplicação direta com banco de dados relacionais; Sistemas transacionais;
O que criar com Node.js Jogos multiplayer online; Aplicações de grande escala de requisições; Aplicações multiprotocolo (DNS, HTTP, TCP, etc); Aplicações assíncronas; Aplicações com respostas em tempo real;
Onde hospedar? Heroku -  http://www.heroku.com Linode -  http://www.linode.com Cloud Foundry -  http://www.cloudfoundry.com NodeSocket -  http://www.nodesocket.com Nodejitsu -  http://www.nodejitsu.com
Boas referências Site oficial:  http://www.nodejs.org Github:  http://github.com/joyent/node Nettuts Plus:  http://net.tutsplus.com/tag/node-js   Node Begginer:  http://www.nodebeginner.org   How to node:  http://howtonode.org   Node Tuts:  http://nodetuts.com   Node Guide:  http://nodeguide.com   Node Cloud:  http://www.nodecloud.org
Dúvidas?
Obrigado pessoal!

Light Talk: Introdução sobre Node.js

  • 1.
  • 2.
    Quem sou eu?Caio Ribeiro Pereira Desenvolvedor na Cocento Tecnologia Sistemas de Informação na Unisantos Twitter: @crp_underground Email: [email_address] Blogs: http://www.udglinux.com http://udgwebdev.wordpress.com http://crpunderground.wordpress.com
  • 3.
    Sobre o Node.jsCriador: Ryan Lienhart Dahl; Lançado em 2009; Linguagens utilizada: C++ com 8000 linhas; Javascript com 2000 linhas; 14 colaboradores no projeto; 5100 repositórios no Github; 1129 módulos existente; Versão estável 0.4.12 apenas para Linux e Mac; Versão instável 0.5.10 para Windows;
  • 4.
    Introdução Servidor webde alta escalabilidade. Utiliza linguagem Javascript V8.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    Concorrência com ThreadsNão-Bloqueantes Analogia para Threads Bloqueantes
  • 10.
    Analogia para Threads Não-Bloqueantes Concorrência com Threads Não-Bloqueantes
  • 11.
    Servidores web atuaisTwisted – Python - http://twistedmatrix.com Tornado – Python - http://tornadoweb.org Thin – Ruby - http://code.macournoyer.com/thin EventMachine – Ruby http://rubyeventmachine.com Grizzly – Java http://grizzly.java.net Node.js – Javascript http://nodejs.org
  • 12.
    Teste de escalabilidadeNo blog do AkitaOnRails , há um post em que ele apresenta uns testes de escalabilidade com esses servidores. Twisted: 4398.17 req/s Tornado: 2498.16 req/s Thin (Ruby 1.8.7): 4619.13 req/s Thin (Ruby 1.9.1): 4777.00 req/s Grizzly: 3523.71 req/s EventMachine: não conseguiu testar Node.js: 6310.62 req/s Fonte: Blog AkitaOnRails - Brincando com node.js, tornado e thin
  • 13.
    Em que Node.jsé bom? Construção de um Web Service Restful; Gerenciar fila de concorrências; Servidor de imagens; Resposta em tempo real;
  • 14.
    Em que Node.jsé ruim? Construção de páginas dinâmicas; Aplicação direta com banco de dados relacionais; Sistemas transacionais;
  • 15.
    O que criarcom Node.js Jogos multiplayer online; Aplicações de grande escala de requisições; Aplicações multiprotocolo (DNS, HTTP, TCP, etc); Aplicações assíncronas; Aplicações com respostas em tempo real;
  • 16.
    Onde hospedar? Heroku- http://www.heroku.com Linode - http://www.linode.com Cloud Foundry - http://www.cloudfoundry.com NodeSocket - http://www.nodesocket.com Nodejitsu - http://www.nodejitsu.com
  • 17.
    Boas referências Siteoficial: http://www.nodejs.org Github: http://github.com/joyent/node Nettuts Plus: http://net.tutsplus.com/tag/node-js Node Begginer: http://www.nodebeginner.org How to node: http://howtonode.org Node Tuts: http://nodetuts.com Node Guide: http://nodeguide.com Node Cloud: http://www.nodecloud.org
  • 18.
  • 19.