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

相关文章
|
1月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
48 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
2月前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
151 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
2月前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
66 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
2月前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
103 33
|
3月前
|
Web App开发 移动开发 HTML5
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码。画面中心是悬浮于空的梅花鹿,其四周由白色线段组成了一个6边形将中心的梅花鹿包裹其中。四周漂浮的白雪随着多边形的转动而同步旋转。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
110 2
|
4月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
75 6
|
4月前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
68 5
|
4月前
|
机器学习/深度学习 人工智能 JavaScript
JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景
本文探讨了JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景。JavaScript将注重性能优化、跨平台开发、AI融合及WebAssembly整合;TypeScript则强调与框架整合、强类型检查、前端工程化及WebAssembly的深度结合。两者结合发展,特别是在Vue 3.0中完全采用TypeScript编写,预示着未来的Web开发将更加高效、可靠。
145 4
|
4月前
|
JavaScript
使用Node.js创建一个简单的Web服务器
使用Node.js创建一个简单的Web服务器
|
4月前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
84 2