第 2 章 移动Web
2013年,消费者将会购买10亿部具有HTML5功能的移动设备。今天,半数的美国成年人拥有智能手机,也就是1.5亿人,其中28%的人将移动设备作为访问Web的主要手段。支持HTML5应用程序的浪潮正在涌来,开发人员正将重点转向移动开发。
即使在大型企业环境中,移动浏览器的统计数字也在上升,但我们仍然要面对这个事实—1/3的互联网用户仍然使用Internet Explorer 9以前的版本访问互联网。事实上,在某些情况下,这些早期的Internet Explorer用户占据网站访问者的2/3。随着时间的推移,桌面用户将会升级到较新的浏览器版本和更好的浏览器,但是在我们推进Web,建立在所有浏览器上都能引人入胜的应用时,还必须创建一个稳固的架构,努力为用户提供最好的体验。
对于我们的Web项目和产品,Web浏览器的功能意味着一切。不管是为了兴趣、利益还是人类的整体进步,理解应该怎样为桌面和移动用户提供设备都很重要。本章的目标是找出所有浏览器的共同基础,了解构建今天的Web应用所需的部件。
移动Web指的是为移动设备(例如可以实现无线连接的智能手机或者平板电脑)创建的、基于浏览器的应用。从2008年起,Web的重心转向移动浏览器,为当今的Web开发人员和用户提供更好的生活质量。但是,当你开始在大量的设备和浏览器上测试新的移动Web应用时,你可能会困惑于应该支持什么平台,应该使用哪些HTML5特性来构建应用。
不管你是热爱HTML5、W3C标准的Open Web专家,还是刚刚接触HTML1的新用户,本章将为你介绍最新的代码、趋势和市场调查,帮助你为下一个Web项目做出正确的决策。还在等什么?好好学习吧!
2.1 移动优先
首先,我们要抓住重点。将移动设计和开发放在桌面之上曾经被认为是荒唐可笑的,而几年前,“移动优先”思路的提出给Web开发人员带来了新鲜空气,让大家领略了移动设备上基于HTML5 API进行的硬件访问。
除去最明显的因素外,考虑移动优先还有几个理由:
- 为受限制的设备和分辨率开发网站,可以创建流动性更强、更灵活的内容。
- 设备特性(例如加速计和地理位置硬件)利用“增强现实”等技术提供了新的商机。
- 整体上,移动优先要求我们考虑代码质量。今天,开发人员在使用CSS进行硬件加速动画时必须考虑电池寿命,这种开发质量不仅能带来更好的性能,还能鼓励你关注更清晰的语义。
- 随着你放弃以桌面为中心的Web开发,移动浏览器让你看到未来,你能够站在时代前沿,接触新的规范和特性。
令人遗憾的是,移动Web还不能做到编写一次,到处运行。在规范最终定稿、特性都被实现的时候,互操作性的目标就可以达到。但是,在今天的移动浏览器中,我们还无法得到大体上一致的浏览器。尽管新的平板电脑和手机不断发行,它们试图达到与HTML5一致的水平,但在一段时间内,它们还必须支持旧的“分裂”设备。所以,毋庸讳言,iPhone 3G和没有升级到Android 4的任何设备都是移动时代的IE6。