Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hoppyではじめよう!リアルタイムweb

2,083 views

Published on

YAPC::Asia 2009 のLTで使ったスライドです。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Hoppyではじめよう!リアルタイムweb

  1. 1. Hoppy ではじめよう! リアルタイム web YAPC 2009 Id: download_takeshi
  2. 2. 自己紹介 id:download_takeshi ダウンロードたけし(寅年) 本名:三木 武(みき たけし) 34 歳 ♂ CPAN : HTML::Feature, Lingua::JA::TFIDF, Lingua::JA::Categorize … etc. で中の人やってます。よろしくどうぞ!
  3. 3. リアルタイム web Comet ReverseHTTP + Web Hook PubSubHubBub ……… Google Wave, XMPP
  4. 4. いろいろあって難しそう・・・
  5. 5. Simple Solution Comet で苦しまなくても HTML5 web-socket の実装を待たなくても Flash XMLSocket でいいじゃないか。 コメット それを言っちゃ~おしめえよ!
  6. 6. Flash XML-Socket クライアントソケット実装 全二重 TCP/IP ストリーム接続 普及率 98.8% ( ver.9 ) JS との連携も超簡単
  7. 7. そして Hoppy ! Hoppy is a perl implementation       of Flash XMLSocket Server. XMLSocket 向けの TCP サーバフレームワーク だれでも簡単に使える POE で自由に拡張できる プリン体ゼロのすぐれもの !!
  8. 8. use Hoppy;    my $server = Hoppy->new(config => $config);   $server->regist_service( chat => 'MyService::Chat', ); $server->regist_hook( timer => 'MyHook::Timer', );   $server->start; 使い方 その1
  9. 9. package MyService::Chat; sub work { my $self = shift; my $args = shift; my $c = $self->context; $c->broadcast({ sender => $poe->session->ID, message => “Hello World!”, }); } 使い方 その2
  10. 10. Hoppy room Hook Service TCP 接続 RPC  メソッドはここにレジスト フック はここにレジスト <ul><li>broadcast() </li></ul><ul><li>multicast() </li></ul><ul><li>unicast() </li></ul>ClientA (SWF) クライアントからの メソッド呼び出し ( RPC) サーバからの メソッド呼び出し ( PUSH ) イメージ ClientB (SWF) ClientC (SWF) A C B login() chat()  ・  ・ Timer Pump
  11. 11. Hoppy の今後 スケールアウト ( C10K 問題とかまじめに対策を考える) HTML5 WebScoket への対応 AnyEvent と Moose で書き直す?? (どうしようかなぁ)
  12. 12. 共同開発者&人柱大募集! 一緒にホッピーを飲みながら 開発してくれる perl 使いの人募集中。 Flasher な人たちで 「 Hoppy 使ってやってもいいぜ」 という人たちも大募集中です。 ぜひご連絡ください [email_address]
  13. 13. Thanks a lot !!

×