• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
NodeJS "Web en tiempo real"
 

NodeJS "Web en tiempo real"

on

  • 2,147 views

La presentación sobre Node JS que hice para el Meetup de Lenguajes Dinámicos.

La presentación sobre Node JS que hice para el Meetup de Lenguajes Dinámicos.

Statistics

Views

Total Views
2,147
Views on SlideShare
2,140
Embed Views
7

Actions

Likes
1
Downloads
24
Comments
0

3 Embeds 7

http://slidecastr.heroku.com 3
http://www.linkedin.com 3
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    NodeJS "Web en tiempo real" NodeJS "Web en tiempo real" Presentation Transcript

    • Web en tiempo real
    • EVENTED I/O
    • MODELO TRADICIONAL Server DB
    • MODELO TRADICIONAL Server DB
    • MODELO TRADICIONAL Server DB
    • MODELO C/EVENTOS Server DB
    • MODELO C/EVENTOS Server DB
    • MODELO C/EVENTOS Main Loop DB
    • TwistedEventMachine
    • Evented I/O for V8 JavaScript.
    • INSTALACIÓN$ curl -O http://nodejs.org/dist/node-v0.2.5.tar.gz # http://nodejs.org/#download$ tar xvf node-v0.2.5.tar.gz$ cd node-v0.2.5$ ./configure$ make$ sudo make install$ node --version # => v0.2.5$ node> // modo interactivo> [Ctrl+C]
    • DOCUMENTACIÓN http://nodejs.org/api.html
    • ESTRUCTURAFramework de bajo nivel
    • SERVIDOR WEB1 var http = require(http);23 http.createServer(function (req, res) {4 res.writeHead(200, {Content-Type: text/plain});5 res.end(Hello Worldn);6 }).listen(8124, "127.0.0.1");78 console.log(Server running at http://127.0.0.1:8124/);
    • EXPRESS 1 2 var app = express.createServer(); Node’s Sinatra 3 app.get(/, function(req, res){ 4 res.send(Hello World); 5 });http://expressjs.com/ 6 7 app.listen(3000);
    • SISTEMA DE PAQUETES
    • NODE PACKAGE MANAGER http://npmjs.org/
    • WEB SOCKETS
    • CONEXIÓN PERSISTENTE
    • BAJO NIVEL 1 var sys = require(sys), 2 WebSocket = require(../websockets); 3 4 function TimeJS () { 5 var self = this; 6 7 this.websocket = new WebSocket.Server({resource: /time, host: localhost}); 8 this.connections = new Array(); 910 this.websocket.addListener(connect, function (server, connection) {11 self.connections[connection.socket.fd] = "";12 });13 this.websocket.addListener(disconnect, function (server, connection) {14 clearInterval(self.connections[connection.socket.fd]);15 self.connections.splice(self.connections.indexOf(connection.socket.fd), 1);16 });17 this.websocket.addListener(receive, function (data, connection) {18 if (data == start) {19 self.connections[connection.socket.fd] = setInterval(function () {20 connection.write(JSON.stringify({time: new Date().toString()}));21 }, 1000);22 }23 });24 }2526 new TimeJS(); https://github.com/jackyyll/nodejs-websockets
    • Faye is an easy-to-use publish-subscribe messaging system based on the Bayeux protocol.It provides message servers for Node.js and Rack,and clients for use in Node and Ruby programs http://faye.jcoglan.com
    • INICIAR UN SERVIDOR1 var Faye = require(faye),2 server = new Faye.NodeAdapter({mount: /});34 server.listen(8000);
    • CREAR UN CLIENTE5 var client = new Faye.Client(http://localhost:8000/);67 client.subscribe(/messages, function(message) {8 alert(Got a message: + message.text);9 });
    • ENVIAR MENSAJES 10 client.publish(/messages, { 11 text: Hello world 12 });
    • MAS SIMPLEWeb Sockets as a Service http://pusherapp.com/
    • (DEMO)https://github.com/sagmor/mapsketcher
    • Fotos: sjunnesson, atranman, denial_land, moriza, ghero79 @ Flickr