EventMachineとWebSocketでリアルタイムwebアプリを作る

社内のLTで発表する順番が回ってきた。プログラマとして採用されてるんだしここはひとつ技術ネタで…と振り返ってみたら、そういえば技術ネタで発表した経験がほとんどない。ちょっとドキドキしつつネタを仕込んだ。

スライド

概要

スライドに書いてあることがほぼすべてなのでカンタンに。

node.jsの衝撃とWebSocketが拓く未来」という記事に影響されて、「リアルタイムWebハッカソン」というイベントが開催された。私は家庭の事情で参加できず、悔しかったので自習してみた、というのがきっかけ。

非同期WebサーバのRubyによる実装(EventMachine / em-websocket)とWebSocketプロトコル(JavaScript / Chrome or Safari)を使って、リアルタイム多人数対戦クイズゲームを作ってみた。

クイズの問題はMashup Award 6のために用意されている「クイズAPI」を使用している。

ソースコードはGithubにて公開している。デモの前に公開しておいたら、@cesareazabu.gemのためにforkして、機能を追加してくれた(ありがとうございました)。

機能としては貧弱だけれども、実際に動かすとリアルタイム感を味わうことができるので、ぜひ試してみてほしい。

Links

WebSocketで目指せ“リアルタイムWeb”! – @IT
http://www.atmarkit.co.jp/fcoding/articles/websocket/01/websocket01a.html

リアルタイムWebハッカソン : ATND
http://atnd.org/events/8626

リアルタイムWebハッカソンでハンズオンしてきました – 自分の感受性くらい
http://d.hatena.ne.jp/t_43z/20101021/1287655787

eventmachine @ GitHub
http://rubyeventmachine.com/

igrigorik’s em-websocket at master – GitHub
https://github.com/igrigorik/em-websocket

The WebSocket API
http://dev.w3.org/html5/websockets/

Mashup Award 6 (#MA6) on CREYLE
http://mashupaward.jp/

クイズ研 – 10万問からすぐ遊べる、1問からすぐ作れるクイズサイトです!
http://quizken.jp/api/ma6

Secure source code hosting and collaborative development – GitHub
https://github.com/

kwappa’s quizsocket at master – GitHub
https://github.com/kwappa/quizsocket

SAWADA Tadashi (cesare) on Twitter
http://twitter.com/cesare

Azabu.gem | Google グループ
http://groups.google.com/group/azabugem

cesare’s quizsocket at master – GitHub
https://github.com/cesare/quizsocket

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です