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

Nodejs introduce - using Socket.io

2,424

Published on

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,424
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
54
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Nodejs introduce - using Socket.io

  1. 1. @clonn (Caesar Chi)<br />clonn.blogspot.com<br />http://nodejs.org/<br />
  2. 2. 學習任何事物都必須<br />
  3. 3. 快快樂樂<br />
  4. 4. 因此本次主題訂為<br />
  5. 5. 快快樂樂學習<br />
  6. 6. 為何使用nodeJS?<br />
  7. 7. 為了實現即時回應<br />Facebook, plurk的即時回饋,讓我回不去了…<br />
  8. 8. 找了許多套實現方式<br />activeMQ, erlang, Twisted, jetty comet, php comet…<br />
  9. 9. 從中選擇了<br />
  10. 10. Apache(nginx) + PHP<br />V8 Engine<br />Javascript<br />
  11. 11. 優勢???<br />
  12. 12. 非阻塞 non-blocking<br />每個程序當中,皆能平均分享資源,確保程序執行資源不會被鎖死<br />
  13. 13. 事件驅動 event-driven<br />經由事件觸發才會開始執行流程,一般都會處於等待狀態<br />
  14. 14. CommonJS<br />一種標準,提供javascript標準設計規範於各個平台<br />
  15. 15. NPM<br />Node 模組管理,方便於管理模組套件。<br />
  16. 16. 任何平台適用<br />Linux,Mac,以及windows都可以正常運作。<br />(v 0.5.0之後)<br />
  17. 17. Javascript<br />採用javascript,利用v8 編譯腳本,執行程序並不限定於瀏覽器中。<br />前端工程師基本配備 =b<br />
  18. 18. nodeJS學習方式?<br />
  19. 19. 快快樂樂閱讀API<br />
  20. 20. STDIO (console)<br />Timer<br />
  21. 21. Timer<br />process<br />
  22. 22. process<br />HTTP<br />
  23. 23. HTTP<br />QueryString<br />
  24. 24. QueryString<br />File system<br />
  25. 25. 這些API…<br />有個印象就好<br />
  26. 26. 安裝nodejs<br />sudo apt-get install node<br />download node.exe (windows) <br />
  27. 27. 安裝npm<br />curl http://npmjs.org/install.sh | sh<br />
  28. 28. 快快樂樂測試node<br />node ↓<br />console.log(“hello world”);<br />(/"≡  _  ≡)/~┴┴<br />
  29. 29. 學習nodejs的初衷<br />產生即時服務(real time)<br />
  30. 30. nodeJS simple code<br />
  31. 31. nodeJS<br />
  32. 32. Front end javascript code<br />那麼長…看行數都想睡覺<br />
  33. 33. 用原生的nodeJS<br />一堆坑 …<br />而且不快樂<br />還記得今天的標題?<br />
  34. 34. 快快樂樂學習<br />
  35. 35. http://www.oreillymaker.com/<br />
  36. 36. socket.io<br />跨瀏覽器,整合前後端,即時回饋實現方案。<br />
  37. 37. 瀏覽器支援<br />WebSocket<br />Flash® Socket<br />AJAX long polling<br />AJAX multipart<br />Forever Iframe<br />JSONP Polling<br />
  38. 38. 安裝Socket.io<br />npm install socket.io<br />
  39. 39. Port listen<br />Socket.io watch<br />模組引用<br />http, file read<br />Socket.io event<br />
  40. 40. 前端套件引用<br />Socket.io watch<br />Socket.io event<br />
  41. 41. Server Code<br />Client Code<br />
  42. 42. Code 變簡單專注於開發就對了<br />
  43. 43. 結語<br />
  44. 44. 單一切入nodeJS<br />找尋太多外掛會迷失方向<br />nodeJS + ? = ∞<br />
  45. 45. nodeJS資源?<br />
  46. 46. nodejs.orggithub.com/joyent/node/wiki/Community<br />The Node Beginner BookMastering Node.jsUp and Running with Node.js<br />
  47. 47. wiki.nodejs.tw<br />
  48. 48. Q & A?<br />
  49. 49. 謝謝!<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×