Transcript
Page 1: Light Talk: Introdução sobre Node.js

Introdução sobre

2˚ Encontro

Page 2: Light Talk: Introdução sobre Node.js

Quem sou eu?

Caio Ribeiro Pereira Desenvolvedor na Cocento Tecnologia Sistemas de Informação na Unisantos Twitter: @crp_underground Email: [email protected] Blogs:

http://www.udglinux.com http://udgwebdev.wordpress.com http://crpunderground.wordpress.com

Page 3: Light Talk: Introdução sobre Node.js

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;

Page 4: Light Talk: Introdução sobre Node.js

Introdução Servidor web de alta escalabilidade. Utiliza linguagem Javascript V8.

Page 5: Light Talk: Introdução sobre Node.js

Principais características

Page 6: Light Talk: Introdução sobre Node.js

Orientado a eventos de I/O

Page 7: Light Talk: Introdução sobre Node.js

Compilação Just-in-time

Page 8: Light Talk: Introdução sobre Node.js

Abstrai funções assíncronas

Page 9: Light Talk: Introdução sobre Node.js

Concorrência com Threads Não-Bloqueantes

Analogia para Threads Bloqueantes

Page 10: Light Talk: Introdução sobre Node.js

Analogia para Threads Não-Bloqueantes

Concorrência com Threads Não-Bloqueantes

Page 11: Light Talk: Introdução sobre Node.js

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

Page 12: Light Talk: Introdução sobre Node.js

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

Page 13: Light Talk: Introdução sobre Node.js

Em que Node.js é bom? Construção de um Web Service Restful; Gerenciar fila de concorrências; Servidor de imagens; Resposta em tempo real;

Page 14: Light Talk: Introdução sobre Node.js

Em que Node.js é ruim? Construção de páginas dinâmicas; Aplicação direta com banco de dados

relacionais; Sistemas transacionais;

Page 15: Light Talk: Introdução sobre Node.js

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;

Page 16: Light Talk: Introdução sobre Node.js

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

Page 17: Light Talk: Introdução sobre Node.js

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

Page 18: Light Talk: Introdução sobre Node.js

Dúvidas?

Page 19: Light Talk: Introdução sobre Node.js

Obrigado pessoal!