2005年,陈本峰还在香港科技大学年研究生的时候,他的导师建议他做网页适配、移动浏览方面的技术研究。虽然那时大家都还在使用个人PC上网,手机还是非常小屏幕的样子,也没有3G网络,绝大多数手机只能发短信、打电话。但陈本峰的导师认为手机上网会是一个趋势。后来,陈本峰**的“移动设备上的网页自定义渲染”的技术获得了美国**。
研究生毕业之后,陈本峰到微软美国总部工作,做对IE8、IE9、IE10浏览器的研发。**的IE404页面,“该页无法显示”,就是陈本峰做的。
需要说明的是,目前全世界一共只有三个浏览器内核,IE、*狐,以及苹果谷歌共用的一个浏览器内核。其他的浏览器产品只是在这些内核基础上新做了一个壳。陈本峰在IE9团队里做的是GPU硬件加速的渲染引擎,这是IE9非常核心的技术。
基于这些经历,陈本峰开发的云适配技术直指浏览器内核。云适配开发技术就是基于浏览器内核的。具体来讲,是通过为目标网站开发一行JS代码,这行代码通过对PC网站目标网页数据的分析和抓取,在云端完成新增设备的网页*佳展现方式的计算,*后在浏览器端实现html结构的重排及CSS的重新渲染,以适应移动端用户的浏览习惯。
简单地说,这个实现过程就是直接对浏览器内核进行渲染,但不是使用浏览器内核原有的渲染规则,而是利用浏览器内核的机制,用自己定义的规则去渲染,用的却还是原来的浏览器。陈本峰打了一个比方,“这好像把浏览器骗了,让时间静止一段时间,去修改了一些东西,浏览器并不知道这个过程。“
从实现效果上来比较,能与云适配类似的就是响应式设计开发技术。但二者的技术原理不同,实现难度差异*大。
响应式设计是把手机、PC、平板多种网页样式全部融合在一个网页里。这样的后果是,*终页面的流量损耗大,响应速度慢。
另外,响应式开发很难中途进行,比如某个网站已经搭建完成了,想要用响应式技术改造出移动版本,这就很难。只能在网站刚开始搭建的时候就用响应式的技术,并且一开始就要同时设想好怎样将未来需要的几个版本的网页糅合在一起去开发。就像在开始设计椅子的时候,还要想到未来它还要能变成沙发、床等。所以,要用响应式开发技术做多屏适配,就只能将原来的页面舍弃,重新从头开发。但从开发过程上讲,简单一些的网站,比如博客,响应式是可以做的。但再复杂些的网站,用响应式就很难做了。开发成本随着页面复杂程度呈指数级上涨,对前端代码开发的要求非常高。
两种技术的两个不同的实现过程,相比较而言,云适配技术的可定制化、扩展性更高一些,开发技术门槛却低很多。它*终也会降低维护成本。一般来讲,在多屏情况下,数据之间是分离的,内容之间也是孤立的。而云适配技术因为是相当于在原来的高楼里建房子,而不是另起高楼。所以,由云适配技术实现的多屏网页的流量、数据都不会分离,可以一站式地统计数据进而分析。
目前,云适配主要面向的客户是中小企业,根据客户需求的复杂程度,收取几千到几万不等的费用。陈本峰介绍,云适配更大的**空间,应该是在以后可能提供的增值服务上。同时,云适配还接入一些渠道,比如一些建站公司。这些公司可以接入云适配平台,用云适配技术去做移动页面开发。