190 likes | 375 Views
Easy Realtime. With NowJS + Node.js. Why Node.js?. Why Node.js?. Asynchronous I/O. Why Node.js?. Evented Requests. Why Node.js?. Shared memory inter-request communication. Why Node.js?. Javascript. Perfect for realtime !. What is NowJS.
E N D
Easy Realtime With NowJS + Node.js
Why Node.js? Asynchronous I/O
Why Node.js? Evented Requests
Why Node.js? Shared memory inter-request communication
Why Node.js? Javascript
var everyone =require("now").initialize(httpServer); everyone.now.myFunc = function(callback){ • callback('hi'); } What is NowJS <script> now.myFunc(function(data){ alert(data); }); </script>
What is NowJS • Bidirectional realtime • Automatically synced namespace `now` • Groups • Ready to scale • More than a socket: optimized for realtime web applications • No more JSON, parsing, routing, COMET, xhr • Depends on socket.io / node-proxy
Let’s make a chat room • varserver = require("http").createServer(); • var everyone =require("now").initialize(httpServer); • everyone.now.distributeMessage = function(message) { • everyone.now.receiveMessage(this.now.name, message); • }; • server.listen(8080);
Let’s make a chat room • varserver = require("http").createServer(); • var everyone =require("now").initialize(server); • everyone.now.distributeMessage = function(message) { • everyone.now.receiveMessage(this.now.name, message); • }; • server.listen(8080); server.js # our node.js server
Let’s make a chat room $ -> now.receiveMessage = (name, message) -> $("#messages").append("<br>"+ name +": "+ message) $("#send-button").click -> now.distributeMessage($("#text-input").val()); $("#text-input").val(""); now.name = prompt("What's your name?", ""); chat.js.coffee# our frontend js
Let’s make a chat room <h1>Chat#index</h1> <divid="messages"></div> <inputtype="text"id="text-input"> <inputtype="button"value="Send"id="send-button"> index.html.erb# our frontend html
@nowjsteam @reallyez team@nowjs.com