Web 的即時互動怎麼玩?
拿來做即時線上遊戲吧!

Duncan Hsieh

  理事 @ 台灣互動設計協會

資深經理

            

            realtime

讓觀眾用 Web App
與電視內容 即時互動

即時互動 聽起來很玄!
對,老闆就想靠這招打天下!

即時(Real-time) 能玩什麼?

實況遊戲

實況遊戲

即時通知

動態消息

共同創作

聊天

先來談談 聊天室 怎麼做?

我第一次寫的聊天室大概長得像這樣子

阿,不小心暴露年紀

為了不讓大家睡著,這是唯一的 code

<head> 
  <meta http-equiv="refresh" content="5"> 
</head> 

用每 5 秒 reload 的方式做 Polling

想像一下當網站變大的時候會怎麼樣

Real-time 的核心概念

有一個可以持續不斷線的連線方式,就可以減少系統負擔

HACK Solution

HTTP Polling

HACK Solution

HTTP Long-Polling

HACK Solution

HTTP Streaming

HTTP Solution

Server-Sent Events

基於 HTTP 的標準協定,不用再使用 Hack 的方法了

可是 IE 永遠不支援

Socket Solution

WebSockets

可以在 Browser 與 Server 之間,建立雙向、全雙工的持續連線

很不幸的

不同的技術有他的優缺點

效能

HTTP PollingHTTP Long-PollingHTTP StreamingServer-Sent EventsWebSockets

相容

Real-time Framework 解決工程師心中的痛

已經開始用 socket.io 請舉手

要做 Real-time Web 第一個想到的就是

socket.io ?

不一定,要評估功能來選擇適當的方案

如果你不想花太多時間處理

使用現有的 Cloud Service

開始之前

開始一個線上遊戲專案

遊戲中的通知

聊天室

進入副本

團隊競賽

利用上述的技術

完成一個線上遊戲的開發成本就可以下降很多

製作線上遊戲是我的夢想之一

我們正積極的尋找工程師一起完成這個夢想

We're Hiring!