Light Talk: Introdução sobre Node.js

19
Introdução sobre 2˚ Encontro

description

Light Talk sobre Node.js e suas características inovadoras pelo qual ultimamente anda se destacando entre os programadores por oferecer alto desempenho e grande escabilidade para as aplicações de grande porte. Esse foi o slide que apresentei no Segundo Encontro DevInSantos no dia 29 de outubro de 2011 na Cocento Tecnologia. Se você deseja entrar na comunidade DevInSantos fique atento sobre os próximos encontros seguindo o perfil: http://www.meetup.com/devinsantos/ Link do blog http://www.udgwebdev.com/light-talk-introducao-sobre-nodejs/

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

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!