2.2 跨平台的HTML 5
Cordova是一套基于HTML 5的跨平台开发框架,要学习使用Cordova,首先要熟练掌握Cordova的API,归根到底还是要对HTML 5使用熟练。目前,开发者对HTML 5的认识还存在着不小的误区。因此掌握好HTML 5的基本知识是非常重要的。
HTML 5是用来取代在1999年被指定并沿用至今的HTML 4和XHTML标准的。虽然它目前仍处于不断完善阶段,但却已经不断地渗透到了人们的日常网络生活当中,大多数的浏览器目前都能够支持HTML 5。
相对于过去的HTML标准,HTML 5主要有以下两大改进:一是强化了网页的表现效果,包括了Canvas动画(如图2-29所示)、对三维效果和CSS 3的支持,以及对摄像头等设备的支持等;二是追加了本地数据库等Web应用的功能。
图2-29 利用Canvas动画制作的HTML 5游戏
功能的强大使HTML 5已经不再是单纯的通用标记语言了,现在提到HTML 5时往往指的是包含了HTML 5、CSS 3、jQuery甚至是设计模式在内的一系列技术组合。它能够有效地减少浏览器对插件(如Adobe Flash等)的依赖,并可提供更加强大的服务。图1-5为HTML 5所包含的技术范围。
提示
减少对插件的依赖就代表着有更多的应用可以仅依靠浏览器而独立运行,不必担心平台的限制。这就导致了HTML 5强大的跨平台特性,使得同一款应用可以在不同的设备上都能够运行。这也是为什么目前主要的跨平台开发框架大多是基于HTML 5的原因。除此之外,也不难解释当年iOS敢于“不支持”Flash的原因了。
广义来说,只要在HTML文件的头部加入一句声明“<! DOCTYPE html>”就证明该页面是支持HTML 5标准的了。这也就导致了目前许多没有良心的商人利用文字上的歧义,来宣称自己的产品是基于HTML 5的,以此骗取高额的收益。
笔者在这里希望本书的读者都能够具备明辨是非的能力,不要被这种黑心的商人所蒙骗,那么HTML 5究竟包含了哪些新的技术呢?下面将一一列举出来。
(1)语义特性:HTML 5包含了更加丰富的标签,包括<header>、<menu>等,能够使网页的结构具有更好的可读性,便于搜索引擎的理解和收录。这些标签也使得页面具有了更好的“模块化”特性,便于后期的维护和修改。
(2)本地存储特性:为HTML 5提供了本地缓存功能,使其能够存储一些本地数据让基于HTML 5的APP能更快地启动和加载。
(3)设备兼容特性:由于HTML 5致力于减少对外部插件的依赖,并提供了前所未有的数据接入接口,这使得HTML 5具有了比前一代HTML更加强大的设备兼容性。
(4)连接特性:加强了对Ajax的支持,这使得HTML 5能够提供更好的网页实时聊天、在线网页游戏等服务。其中两个重要的特性分别是Sever-Sent-Event和WebSocks,这两个特性能够更加有效地将来自服务器端的数据实时推送至客户。
(5)三维以及图形特效特性:支持基于SVG、Canvas、WebGL以及CSS 3的动画功能,使HTML 5具有了更强大的图形处理能力,理论上已经能够支持一些大型3D游戏。
(6)网页多媒体特性:包括<video>、<audio>标签,以及对摄像头等外设的支持,使HTML 5具有了强大的多媒体处理能力。
(7)性能优化:使浏览器能够更加快速地实现对页面的渲染,保证用户不需要长时间等待页面的加载。
提示
HTML 5非常强大,但并不代表它很安全,反而由于它的诸多新特性给开发者和维护管理人员带来了更多的挑战。使用HTML 5编写的应用甚至会比传统应用更容易泄露用户的敏感数据。欧洲网络信息安全机构(ENSIA)已经警告说HTML 5不够安全。