nodejs intro william dias
DESCRIPTION
Slides de Introdução à Node.js apresentados nas palestras relâmpago realizadas em 15 de Agosto de 2011 na FATEC e organizado pelo grupo TcheLinux em Pelotas/RS.TRANSCRIPT
Estudante de Ciência da Computação na UFPel.
Desenvolvedor HTML/Javascript na Conrad-Caine GmbH.
Gamer nas horas vagas, apaixonado por novas tecnologias de desenvolvimento web e atualmente explorando o ramo de desenvolvimento de jogos em HTML/Javascript.
Contato: [email protected]: twitter.com/diaswrdFacebook: facebook.com/diaswrdGithub: github.com/diaswrd
Sobre mim
Mas então...
O que é node.js?
* Javascript server-side.* Orientado a eventos, I/O não bloqueante.Inspirado em EventMachine (Ruby) e Twisted (Python).* Contruído utilizando a Engine V8 do Google.* Criado para suportar várias conexões simultâneas em uma única aplicação.
Como nossas querys são geralmente escritas:
DatabaseQuery(“select * from clientes where ...”);//Usar o resultado
Nesse caso, geralmente o fluxo da sua aplicação fica travado para aquele usuário, esperando para seguir em frente somente após receber o resultado da consulta ao banco de dados.
I/O não bloqueante
Como é o comportamento de I/O não bloqueante:
DatabaseQuery(“select … ”, function() {//Usar o resultado
});/* O fluxo da aplicação continua mesmo antes da query
retornar algum resultado */
I/O não bloqueante
var http = require('http');http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n');}).listen(1337, "127.0.0.1");console.log('Server running at http://127.0.0.1:1337/');
Exemplo de código
Comunidade extremamente ativa, tendo quase 1000 módulos publicados (https://github.com/joyent/node/wiki/modules).
Alguns exemplos:* Express (http://expressjs.com/) * Socket.IO (http://socket.io/) * node-xml2js (https://github.com/Leonidas-from-XIV/node-xml2js) * mongoose (https://github.com/LearnBoost/mongoose) * node-mysql (https://github.com/felixge/node-mysql)
node.js modules
Exemplos de aplicações
Exemplos de aplicações
Exemplos de aplicações
Exemplos de aplicações
Simple Isometric Node.js Game Concept Demo
https://github.com/diaswrd/Singd
http://fierce-sky-691.herokuapp.com