SocketStream入門
- 2. ⾃自⼰己紹介
! 名前:kadoppe
! Twitter twitter.com/kadoppe
! Blog www.kadoppe.net
! 職業:フリーランスエンジニア
! iOS, Web(Rails, CakePHP, Node.js)
! HTML5-‐‑‒West.jp コアメンバー
! about.me/kadoppe
2
- 15. 対応ブラウザ
! Chrome, Safari, Firefox 6
! WebSocketに対応しているので問題
なく動作
! IE、古いバージョンのFirefox
! WebSocketに対応していないが
Socket.IOにより問題なく動作
15
- 17. 動作に必要なもの
! Node.js 0.4.x
! サーバサイドJSの実装の⼀一つ
! NPM 1.0 or above
! Node.jsのモジュール管理理ツール
! Redis 2.2 or above
! KVS(Key-‐‑‒value store)のひとつ
17
- 21. 開発に使う⾔言語
! ロジック
! CoffeeScript (or JavaScript)
! ビュー
! Jade (or HTML)
! Node.js⽤用テンプレートエンジン
! Stylus (or CSS)
! Node.jsでCSSを簡潔に記述するための
モジュール
21
- 24. Jade → HTML
Jade HTML
!!! 5! <!DOCTYPE html>!
html(lang="en")! <html lang="en">!
head! <head>!
title= pageTitle! <title>Jade</
body! title>!
h1 Jade ! </head>!
#container! <body>!
- if (UsingJade)! <h1>Jade</h1>!
p Thanks!! <div
- else! id="container">!
p Get on it!! <p>Thanks!</p>!
! ! ! ! !! </div>!
! ! ! !! </body>!
</html> ! !!
24
- 25. Stylus → CSS
Stylus
border-radius() !
-webkit-border-radius arguments !
-moz-border-radius arguments !
border-radius arguments !
!
a.button !
border-radius 5px!
CSS
a.button { !
-webkit-border-radius: 5px; !
-moz-border-radius: 5px;!
border-radius: 5px; !
} ! ! ! ! !!
! ! ! !!
25
- 26. シンプルなディレクトリ構造
/app!
/client … ブラウザで実⾏行行されるコード
/server … サーバで実⾏行行されるコード
/shared … ブラウザ/サーバ双⽅方から
参照されるコード
/css … Stylus (or CSSファイル)
/lib … 外部ライブラリ
/public … 静的なファイル(画像など)
26
- 28. サーバ側実装
/app/server/app.coffee
exports.actions = # ブラウザに公開する関数の登録!
square: (number, cb) -> # 2乗する関数の実装!
cb(number * number)!
!
! SS.server.app.square でブラウザ/サーバ
両⽅方から関数を呼び出せるようになる
! SS 変数
! ブラウザ/サーバから参照可能なグローバル
変数
! 各種API、ユーザ定義の関数、オブジェクト
への参照を提供
28
- 35. SocketStreamのこれから
! 現在 v0.2.2 がリリースされている
! v0.3で追加される予定の機能
! モデルのサポート
! 現在サポートされていないためCRUD操作が
多いアプリケーションには向かない
! Real Time Models という機能が追加予定
! backbone.jsのサポート
! ブラウザサイドのMVCフレームワーク
35
- 36. まとめ
! SocketStream
! SPAを開発するためのNode.js⽤用Webフレーム
ワーク
! ⾼高性能なリアルタイムWebアプリケーションを
効率率率的に開発
! 様々な新しい技術を採⽤用
! Node.js, WebSocket, Socket.IO, redis,
CoffeeScript, Jade, Stylus, backbone.js
! 勉強していると楽しくなるのでぜひトライして
みてください
36
- 37. 参考URL
! SocketStream
! https://github.com/socketstream/socketstream
! WebSocketことはじめ
! http://www.slideshare.net/kadoppe/websocket-‐‑‒8735698
! Socket.IO
! http://socket.io/
! CoffeeScript
! http://jashkenas.github.com/coffee-‐‑‒script/
! Jade
! http://jade-‐‑‒lang.com/
! Stylus
! http://learnboost.github.com/stylus/
! Redis
! http://redis.io/
37