《HTML5和JavaScript Web应用开发》——2.2 决定支持-阿里云开发者社区

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

《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的更好支持。

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

相关文章
Eclipse支持HTML&JS&ExtJS&jQuery代码智能提示
Eclipse支持HTML&JS&ExtJS&jQuery代码智能提示  参考地址: http://wenku.baidu.com/view/cfd23806a6c30c2259019ed0.html
843 0
JavaScript轻应用高级组件
除了基础的功能组件外,JavaScript轻应用还提供了阿里云智能物联网平台连接以及语音播报等能力,具体介绍如下。
52 0
在jsp页面下, 让eclipse完全支持HTML/JS/CSS智能提示
我们平时用eclipse开发jsp页面时智能提示效果不太理想,今天用了两个小时发现了eclipse也可以像Visual Studio 2008那样完全智能提示HTML/JS/CSS代码,使用eclipse自带的插件,无需另外安装插件,具体步骤如下   1.
891 0
JavaScript轻应用网络模块介绍
JavaScript轻应用提供了网络管理相关的功能,APP可以通过JSAPI获取网络相关的信息,并且可以接收网络连接、断开的事件。
48 0
带你读《区块链开发实战: 基于JavaScript的公链与DApp开发》之三:Asch——区块链应用开发平台
本书用三个部分讲解了区块链技术以及Asch的相关实践,第一部分讲解了区块链技术的基本概念,并用300行代码实现了一个最小的、可运行的区块链;第二部分分析Asch的源码,讲解Asch的实现原理;第三部分介绍了基于Asch的侧链技术的DApp开发实战。
1565 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载