O documento discute a arquitetura e uso do NodeJS. NodeJS é uma plataforma de desenvolvimento de aplicações de rede escaláveis usando Javascript assíncrono e não bloqueante no lado do servidor. Ele usa um modelo de programação baseado em eventos que permite que uma única thread atenda muitas conexões simultâneas de forma eficiente.
14. Solução
- Possibilidades:
- Escalar verticalmente
- Escalar horizontalmente
- Desenvolver em outra linguagem de programação mais rápida
15. Solução
- Possibilidades:
- Escalar verticalmente
- Escalar horizontalmente
- Desenvolver em outra linguagem de programação mais rápida
16. Solução
- Possibilidades:
- Escalar verticalmente
- Escalar horizontalmente
- Desenvolver em outra linguagem de programação mais rápida
17. Solução
- Possibilidades:
- Escalar verticalmente
- Escalar horizontalmente
- Desenvolver em outra linguagem de programação mais rápida
18. Solução
- Possibilidades:
- Escalar verticalmente
- Escalar horizontalmente
- Desenvolver em outra linguagem de programação mais rápida
- Nenhum dos ítens acima.
19. Solução
- Possibilidades:
- Escalar verticalmente
- Escalar horizontalmente
- Desenvolver em outra linguagem de programação mais rápida
- Nenhum dos ítens acima.
28. O que é NodeJS?
- Criado por Ryan Dahl em 2009
29. O que é NodeJS?
- Criado por Ryan Dahl em 2009
- Plataforma de fácil desenvolvimento para aplicações de rede altamente escaláveis;
30. O que é NodeJS?
- Criado por Ryan Dahl em 2009
- Plataforma de fácil desenvolvimento para aplicações de rede altamente escaláveis;
- Desenvolvimento em Javascript no lado do servidor;
31. O que é NodeJS?
- Criado por Ryan Dahl em 2009
- Plataforma de fácil desenvolvimento para aplicações de rede altamente escaláveis;
- Desenvolvimento em Javascript no lado do servidor;
Ok, mas o que isso significa na prática?
37. Arquitetura
- Escrito em C/C++ e Javascript;
- Baseado em Event Loop (epoll) utilizando libev;
- Desenvolvido sobre a Javascript Engine V8(Google);
38. Exemplo de Código
- Servidor HTTP
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end("Hello World!");
}).listen(8080, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8080/');
41. Módulos
- NPM (Node Package Manager, escrito em Javascript)
- Banco de dados (Mysql, CouchDB, MongoDB, Redis...)
42. Módulos
- NPM (Node Package Manager, escrito em Javascript)
- Banco de dados (Mysql, CouchDB, MongoDB, Redis...)
- WebSocket (socket.io)
43. Módulos
- NPM (Node Package Manager, escrito em Javascript)
- Banco de dados (Mysql, CouchDB, MongoDB, Redis...)
- WebSocket (socket.io)
- Frameworks (expressjs, jade...)
44. Módulos
- NPM (Node Package Manager, escrito em Javascript)
- Banco de dados (Mysql, CouchDB, MongoDB, Redis...)
- WebSocket (socket.io)
- Frameworks (expressjs, jade...)
- Testes (vowsjs, expresso...)
45. Módulos
- NPM (Node Package Manager, escrito em Javascript)
- Banco de dados (Mysql, CouchDB, MongoDB, Redis...)
- WebSocket (socket.io)
- Frameworks (expressjs, jade...)
- Testes (vowsjs, expresso...)
- NPM é nativo a partir da versão 0.6.3
51. Quando usar?
- Servidor de arquivos estáticos;
- Serviço TCP;
- File Watcher;
- Serviço WEB com muitas requisições por segundo;
52. Quando usar?
- Servidor de arquivos estáticos;
- Serviço TCP;
- File Watcher;
- Serviço WEB com muitas requisições por segundo;
- Criação de Sites;
53. Quando usar?
- Servidor de arquivos estáticos;
- Serviço TCP;
- File Watcher;
- Serviço WEB com muitas requisições por segundo;
- Criação de Sites;
- entre outros...