SlideShare a Scribd company logo
Let’s develop real-time Web application using Pusher!
Pusherアプリの作り方
JUN OHWADA
JUN OHWADA
Let’s develop real-time Web application using Pusher!
D emonstration
Dynamic Web
  Polling
  Comet
  WebSocket
Dynamic Web
  Polling
  Comet
  WebSocket
WebSocket
No delay
No waste request
No waste code
WebSocket
No delay
No waste request
No waste code
rik/em-websocket
               .com/igr   igo
http s://github
Pusher
http://pusherapp.com/
mboo/pu sher-gem
        /github.co m/newba
https:/
Pusher[channel].trigger(label1, data)
                                                Ruby
      Pusher[channel].trigger(label2, data)


        Pusher[channel].trigger(label3, data)



                                  WebSocket
var receiver = new Pusher(key, channel);
                                                Browser
 receiver.bind(label1, function(data) { ... } );


 receiver.bind(label2, function(data) { ... } );


 receiver.bind(label3, function(data) { ... } );

         JavaScript
ig i20 10
                                Ru by Ka



http://www.   ickr.com/photos/hsbt/4931700629/
http://www.   ickr.com/photos/kei-s/4929133025/
http://www.   ickr.com/photos/recompile_net/4938690602/
http://www.   ickr.com/photos/recompile_net/4935820587/
http://www. ickr.com/photos/machu/4942003500/
Sub screens


http://www. ickr.com/photos/machu/4942003500/
http://www. ickr.com/photos/y_ogagaga/4942625366/
Twitter #rubykaigi
      IRC #rubykaigi
Operation Noti cation
http://twitter.com/Dominion525/status/22339840037




http://twitter.com/Dominion525/status/22339449175
Twitter
   IRC
Operation

     txt
     txt
     txt
Pusher[channel].trigger(label1, data)
                                                Ruby
      Pusher[channel].trigger(label2, data)


        Pusher[channel].trigger(label3, data)



                                  WebSocket
var receiver = new Pusher(key, channel);
                                                  Browser
 receiver.bind(label1, function(data) { ... });


 receiver.bind(label2, function(data) { ... });


 receiver.bind(label3, function(data) { ... });

         JavaScript
Pusher[channel].trigger(label1, data)
                                                Ruby
      Pusher[channel].trigger(label2, data)


        Pusher[channel].trigger(label3, data)



                                  WebSocket
var receiver = new Pusher(key, channel);
                                                  Browser
 receiver.bind(label1, function(data) { ... });


 receiver.bind(label2, function(data) { ... });


 receiver.bind(label3, function(data) { ... });

         JavaScript
Pusher[channel].trigger(label1, data)
                                                Ruby
      Pusher[channel].trigger(label2, data)


        Pusher[channel].trigger(label3, data)



                                  WebSocket
var receiver = new Pusher(key, channel);
                                                  Browser
 receiver.bind(label1, function(data) { ... });


 receiver.bind(label2, function(data) { ... });


 receiver.bind(label3, function(data) { ... });

         JavaScript
Pusher[channel].trigger(label1, data)
                                                Ruby
      Pusher[channel].trigger(label2, data)


        Pusher[channel].trigger(label3, data)



                                  WebSocket
var receiver = new Pusher(key, channel);
                                                  Browser
 receiver.bind(label1, function(data) { ... });


 receiver.bind(label2, function(data) { ... });


 receiver.bind(label3, function(data) { ... });

         JavaScript
s/
                                                      ma ster/pusher
                                        0s tream/tree/
                  .co   m/ju ne29/rk201
    https://github




                                                                             /
                                                            ubl ic/2010/live
                                            /tre e/master/p
                             ka i/rubykaigi
               .com/ruby-no-
ht tps://github
Pusherアプリの作り方
Pusherアプリの作り方
Pusher
http://pusherapp.com/
References
WebSocket.org -- A WebSocket Community
  http://www.websockets.org/
Pusher
  http://pusherapp.com/
Building Real Time Web (by Makoto Inoue)
  http://vimeo.com/14549558
WebSocket           “           Web” -          IT
  http://www.atmarkit.co.jp/fcoding/articles/
  websocket/01/websocket01a.html
                                    @makoto_inoue
Let’s develop real-time Web application using Pusher!
JUN OHWADA

More Related Content

Pusherアプリの作り方