Presentta: usando Node.js na prática

Post on 13-Jan-2015

5.304 views 0 download

description

Palestra apresentada no BrazilJS

Transcript of Presentta: usando Node.js na prática

PresenttaUsando Node.js na prática

Nando Vieira

Sobre mim.@fnandohttp://nandovieira.com.br

Presentta.Um sistema de treinamento online.

http://howtocode.com.br/nodejs↑↑↓↓←→←→BA

Um monte de coisas.Node.js + Ruby + Rails + Flash + Linux + Erlang + WebSockets.

Diversão.Quem sabe, ainda ganhar algum $$$.

Navegação de slides

MicrofonesQualidade do

Áudio

Ativa screensharing !"#$

Flash.Streaming de áudio e vídeo.

package presentta { import presentta.URI; import presentta.Status; import presentta.Guard; import flash.net.NetConnection; import flash.net.NetStream; import flash.events.*; import flash.external.ExternalInterface; import flash.display.LoaderInfo; import flash.media.SoundTransform;

# ...

ActionScript 3

Interface.Somente para navegadores modernos.

#websocket #fail

Y U GIMME NO WEBSOCKET?https://github.com/fnando/websocket-on-firefox-4/

socket.IO%&$.

Node.js.Um framework para criar aplicativos que envolvam rede.

Async IO.Twisted e EventMachine.

R!"#P#$%&'

JavaScript no servidor.FUCKYEAHHHH!

var http = require("http");

http.createServer(function (request, response) { response.end("Hello BrazilJS!\n");}).listen(2345);

Servidor HTTP - Node.js

$ node server.js

Chat.O exemplo clássico do Node.js.

var net = require("net") , emitter = new process.EventEmitter();

net.createServer(function(socket){ emitter.on("message", function(sender, message){ if (socket.writable) { socket.write(socket.remoteAddress + "> " + message); } });

socket.on("data", function(data){ emitter.emit("message", socket, data) });}).listen(2345, "kernelpanic.local");

Chat TCP

Comunicação entre Flash,Node.js e Client-Side JS.

Bebo à saúde do Nando Vieira

JSON.stringify({ type: "new_message", message: "My new message", user: 1});

JSON.load(payload);

Segurança.É sempre importante?

JavaScript.Closures e funções anônimas.

Na prática.Esse é o Presentta em uso real.

Aprenda.Cliché.

Node.js, Shell Script, Monit, Erlang, Ruby, JavaScript, HTML, CSS, Python, ActionScript, Photoshop, whatever.

Coffeescript.FFFFFUUUUUUUUUU! #not