开发者社区> 异步社区> 正文

《HTML5和JavaScript Web应用开发》——2.2 决定支持

简介: Mobile Safari(iOS6):Apple对早期HTML5规范的应用和实现令人印象深刻,该公司明显成为推动Web前进的动力。利用标准的硬件和多核技术,iPhone和iPad已经成为杰出的HTML5开发平台。
+关注继续查看

本节书摘来自异步社区《HTML5和JavaScript Web应用开发》一书中的第2章,第2.2节,作者:【美】Wesley Hales著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.2 决定支持

基于目前移动领域的局面,我们必须支持多种平台和浏览器。当你使用HTML5的核心API时,你就被绑定到目标设备所支持的特性上,所以理解当今的移动浏览器及其发展方向至关重要。

编写跨越所有平台和浏览器的Web应用是一个很大的工程。以前,Web应用开发人员不关心桌面电脑是否连接了摄像头或者加速计,Web应用和操作系统及桌面硬件的能力也没有关系。现在,移动Web为我们构建的应用增加了另一方面的支持,浏览器和设备的分裂也令人兴奋,我们现在必须创建兼容不同浏览器、平台和设备的应用。例如,Android 2.1版本中基于WebKit的浏览器支持Web Workers,后来的2.2、3.0和4.0版本禁用了这一支持,而在4.1版本中,Web Workers支持经过修改又回来了。

这就是我所说的另一方面的支持,或者叫做“分裂”。我们不仅要支持浏览器,还要支持浏览器所绑定的操作系统。

下面将解释不同的移动浏览器,讨论每种设备共同支持的API,并确定可以用来构建稳定的企业移动Web应用的核心功能集。

移动Web浏览器
花一点时间研究各种移动浏览器和各自的社区。作为开发人员,我们必须尝试接受所有平台,开发跨越如下浏览器的应用程序——如果有必要,还应该支持更多浏览器。例如,你的用户不应该被限制在一个仅支持WebKit的移动应用上,因为这种应用的代码只能运行于iOS和Android。

1.WebKit
WebKit是Mobile Safari、Android和Chrome等采用的浏览器引擎。这一开源项目不断推动开放Web的发展,适应刚刚发布的最新W3C规范。最近,用户对WebKit的兴趣有了爆炸性的增长,这可以归功于它驱动了许多领先的移动平台浏览器。

图2-1展示了源代码修订版本(垂直)和当时的功能(水平)。图中的一些图标代表与WebKit关联的产品,所处位置表示该产品流行的时代。

screenshot

Mobile Safari(iOS6):Apple对早期HTML5规范的应用和实现令人印象深刻,该公司明显成为推动Web前进的动力。利用标准的硬件和多核技术,iPhone和iPad已经成为杰出的HTML5开发平台。但是,iOS的世界里并不都是美好的景象,每个移动浏览器都有其缺陷。早期的iOS版本因为有JavaScript的 innerHTML()相关的一个缺陷,迫使开发人员考虑新的动态内容插入方法。你将在下一章中看到这个问题的解决方案,而现在我们关注的是全局。

Apple围绕iOS发展的社区处理和缺陷提交受到了Apple行事风格的束缚。你可以用缺陷报告提交缺陷,但只能搜索自己提交的问题,但Apple允许来自客户的非机密数据公开搜索。

Android:尽管Android的默认浏览器基于WebKit,但截至本书写作时,它对HTML5规范的实现在第4版中才开始加强。随着Android的发展,我们确信HTML5将实现和其社区一起发展。但是,目前Android设备的分裂现象非常严重,HTML5支持在不同的设备和OS版本。

至于Android的未来,更新的Dolphin浏览器有希望在浏览器技术上取得重大进展:

  • 比默认的Android浏览器快5~10倍;
  • 比Chrome快一倍(有些时候);
  • 在有名的测试网站上测试时得到了450分,如图2-2所示。

screenshot

2.Mobile Firefox
Mozilla已经出现了一段时间,而且比以前更重视社区和Web的推进。在本书编写的时候,Mobile Firefox在HTML5实现水平上排行第三(见图2-3),胜过了Mobile Safari(iOS)。

随着移动Web的不断发展,宝座之争还将持续——这是好事。我们希望竞争和标准的进步。Mozilla对于移动Web的革新并不陌生,它推出了野心勃勃的新项目WebAPI。这个项目是一组API,用于访问通常只能被原生应用访问的设备功能。总的来说,它是一个基于HTML、CSS和JavaScript的移动设备操作系统。这是推进Web的一项举措,使得开发人员可以一次性地为所有移动操作系统编写Web应用。图2-4展示了B2G的Gaia UI屏幕截图。

screenshot

screenshot

3.Opera Mobile
Opera有两种不同的手机浏览器:Opera Mobile和Opera Mini,在Opera Mini中,Opera Presto浏览器引擎在服务器上,而Opera Mobile中安装在手机上。目前,Opera Mini占据了大部分市场份额,但是对于企业HTML5应用,Opera Mobile支持我们所需的核心规范,如Web Storage、WebWorkers和Geolocation。

4.Internet Explorer Mobile
Windows Phone 7.5配备了一个Internet Explorer Mobile版本,它的渲染引擎(即内核)基于Internet Explorer 9。所以,说明Windows Phone支持功能的最简单方法就是:它支持IE 9所支持的功能,包括Web Storage和Geolocation。

更有甚者,Windows Phone 8支持Internet Explorer 10,而它包含了对HTML5特性如WebSocket、Web Workers、Application Cache和IndexedDB的更好支持。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
网站介绍web前端 html+css+javascript网页设计
网站介绍web前端 html+css+javascript网页设计
11 0
web学习笔记之JavaScript(一)
web学习笔记之JavaScript(一)
24 0
web前端必背知识 javascript 数组 下
web前端必背知识 javascript 数组 下
17 0
web前端必背知识 javascript 数组 上
web前端必背知识 javascript 数组 上
24 0
Web阶段:第三章:JavaScript语言(下)
Web阶段:第三章:JavaScript语言
24 0
Web阶段:第三章:JavaScript语言(上)
Web阶段:第三章:JavaScript语言
26 0
计算机二级web题目(5)--js(Javascript)基础
计算机二级web题目(5)--js(Javascript)基础
65 0
Web开发及人机交互导论 实验九 JavaScript基础
Web开发及人机交互导论 实验九 JavaScript基础
60 0
Web开发及人机交互导论 实验八 JavaScript程序结构
Web开发及人机交互导论 实验八 JavaScript程序结构
42 0
Web基础入门-JavaScript
JavaScript(通常缩写为JS)是一种进阶的、直译的程式语言(动态执行语言与Python,Java等语言类似),JavaScript是一门基于原型、头等函数的语言,是一门多范式的语言,它支援物件导向程式设计,指令式编程,以及函式语言程式设计,它提供语法来操控文字、阵列、日期以及正则表达式等,不支援I/O,比如网络、储存和图形等,但这些都可以由它的宿主环境提供支援。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实作语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、 IE、 Firefox、 Safari、Opera)支持。
29 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
边缘安全,让Web加速有保障
立即下载
使用CNFS搭建弹性Web服务
立即下载
WEB框架0day漏洞的发掘及分析经验分享
立即下载