肖光宇:HTML5的未来—实时应用

7月19日,由HTML5梦工场主办的第四届HTML5峰会暨攻城师嘉年华(iWeb峰会)首站在上海开幕,会上野狗实时联合创始人肖光宇发表了《HTML5的未来—实时应用》主题演讲。

以下是演讲实录:

幻灯片1

肖光宇:大家好,我是来自野狗实时联合创始人肖光宇,大家或许觉得野狗比较陌生,这个是成立于去年的一家云服务公司,今天我给大家带来的主题是《HTML5的未来—实时应用》。

幻灯片2

进入主题之前,我请大家玩一个小游戏,也许今天的网络不好,可能打不开。之后我们随时下载这个PPT,可以看一下。

幻灯片3

先从历史说起,1990年互联网的第一个浏览器,互联网第一次以UI的形式展现在人们面前。

幻灯片4

从此世界就变成了这个样子,HTML+JS+CSS负责页面,HTTP负责传输。

幻灯片5

Request/Response模型的优点,他很简单,占用内存很小。如果不是这种模型,互联网的开发会难很多,互联网开发者也不会这么多。

幻灯片6

H5提供WebStorage,SSE和WebSocket和今天主题有关系。SSE实现的是服务的搜索,Websocket实现的实时服务。

幻灯片7

所以变成了这种模式,前面的内容不变,然后加上实时的应用。

幻灯片8

之前的实现实时有几种方式,都是模拟的方式,最早出现的是Polling方式,这种方式能够模拟实时,并不是真正实时,这个事件并不会立刻推送对客户端,并且网络传输量巨大。

幻灯片9

Long Polling基本上做到了实时。

幻灯片10

WebSocket是双向通信,是规模实时通信成为了可能。

幻灯片11

我们看一下WebSocket到底有多强,这张图是我从WebSocket官网上截来的,第一组是1千个客户端每秒发一条,第二组是1万个客户端每秒发一条,这时候差距比较大。所以WebSocket是实现网页实时化的一个最佳的途径。其实WebSocket可以说是现在,在未来一些新的技术,一些非常炫酷技术应用到实际的应用中,我们有更快的网络开销。

幻灯片12

SharedWorker是H5新的标准,他允许浏览器使用多个页面,如果多个页面同时打开,只需要开一个链接就好。SPDY是HTTP的2.0标准。QUIC是是更前沿的研究方向,QUIC解决了TCP复杂的问题,可以获得更高的性能,更快的效果。

幻灯片13

本次分享到这里可以结束了,因为WebSocket如此OK,这个没什么可讲。

幻灯片14

但是问题来了,WebSocket是一个通信层协议跟TCP一样,你搞WebSocket和搞TCP一样,我们很少有前端熟悉这一块技术,我们要面临这样的问题,重连重试,会话管理、SUB/PUB、QoS,兼容性、安全性的问题。

幻灯片15

其实我们要的是一个应用层的协议,我们真正需要不是自由WebSocket,而是易用的WebSocket。

幻灯片16

我希望是事件驱动,传输透明,多平台,零配置,舒服的API。

幻灯片17

幻灯片18

我们是分布式计算,分布式缓存系统,右边是一个小游戏,这个是很多人可以在页面里玩。我们客户端有很强的计算能力,我们怎么样把这些计算能力应用起来?利用野狗实时平台可以很好做这件事情。

幻灯片19

幻灯片20

说到分布式系统有一个原则,就是CAP原则,野狗应用平台使用最终一致性,我们这个云平台与Rest兼容,全选与认证模型,支持离线,数据在上线同步游戏,离线的时候存在是存在客户端,上线的时候可以同步到客户端。

幻灯片21

有一个例子,打完飞机我们来实战一把

幻灯片22

假如我有一个web,首先我要做UI的代码,我展示的是页面端的工作,第二行是一个客户端,第三行、第四行通过监听控制数据,由这个数据来控制监听的量。

幻灯片23

我今天的分享到此结束,我们在7月31日有一个程序员搭建的摇滚音乐会。请感兴趣的朋友关注我们野狗实时的微信。