nodejs introduce - using socket.io
TRANSCRIPT
@clonn (Caesar Chi)http://nodejs.org/ clonn.blogspot.com
學習任何事物都必須
快快樂樂
因此本次主題訂為
快快樂樂學習
為何使用 nodeJS?
為了實現即時回應Facebook, plurk 的即時回饋,讓我回不去了…
activeMQ, erlang, Twisted, jetty comet, php comet…
找了許多套實現方式
從中選擇了
Apache(nginx) + PHP
V8 Engine Javascript
優勢???
非阻塞 non-blocking
每個程序當中,皆能平均分享資源,確保程序執行資源不會被鎖死
事件驅動 event-driven
經由事件觸發才會開始執行流程,一般都會處於等待狀態
CommonJS
一種標準,提供javascript 標準設計規範於各個平台
NPM
Node 模組管理,方便於管理模組套件。
任何平台適用
Linux , Mac ,以及windows 都可以正常運作。(v 0.5.0 之後 )
Javascript
採用 javascript ,利用v8 編譯腳本,執行程序並不限定於瀏覽器中。
前端工程師基本配備 =b
nodeJS 學習方式?
快快樂樂閱讀 API
STDIO (console)Timer
Timerprocess
processHTTP
HTTPQueryString
QueryStringFile system
這些 API…有個印象就好
安裝 nodejssudo apt-get install nodedownload node.exe (windows)
安裝 npmcurl http://npmjs.org/install.sh |
sh
console.log(“hello world”);
node ↓
快快樂樂測試 node
(/"≡ _ ≡)/~┴┴
學習 nodejs的初衷產生即時服務 (real time)
nodeJS simple code
nodeJS
Fro
nt e
nd
javascrip
t cod
e
那麼長…看行數都想睡覺
用原生的 nodeJS一堆坑 …而且不快樂
還記得今天的標題?
快快樂樂學習
http://www.oreillymaker.com/
socket.io
跨瀏覽器,整合前後端,即時回饋實現方案。
瀏覽器支援
WebSocketFlash® SocketAJAX long pollingAJAX multipartForever IframeJSONP Polling
安裝 Socket.ionpm install socket.io
模組引用
http, file read
Port listenSocket.io watch
Socket.io event
前端套件引用Socket.io watch
Socket.io event
Server Code
Client Code
Code 變簡單專注於開發就對了
結語
單一切入 nodeJS
找尋太多外掛會迷失方向nodeJS + ? = ∞
nodeJS 資源?
The Node Beginner BookMastering Node.jsUp and Running with Node.js
nodejs.orggithub.com/joyent/node/wiki/Community
wiki.nodejs.tw
Q & A ?
謝謝!