现在的 HTML5 就像当年崭露头角时的 Ajax,有人在做,但不知道叫它什么。最近,苹果在 HTML5 上大做文章
,而著名的 Web 设计师
Eric Meyer 则提出了 Web
Stacks
的概念。Alex Kessinger
是 Yahoo 的一名前端工程师,本文是他对 HTML5
应用现状与前景的思考。
术语
首先说说 HTML5 应用中的几个定义。
HTML5
HTML5 最好的定义来自 Mark
Pilgrim
的 Dive Into HTML5
:
"HTML5 是继 HTML4.01,XHTML 1.0/1.1 之后的下一代 HTML
"
值得一提的是,我们或许能看到 HTML6,然而按 Pilgrim 在 WHATWG 博客
中
的说法,下一代 HTML 很可能去掉版本号这一概念。
应用
来自 Wikipedia
的解释:
"应用程序是计算机用来执行特定任务的软件
"
HTML5 应用
从用户的角度,HTML5 应用和其它的计算机应用程序还不完全一样,但已经很接近。从开发者的角度,HTML5 应用是一些基于
HTML,JavaScript,CSS 的程序,它们使用开放技术,可以离线使用,可以取代诸如 Silverlight 及 Flash
等专用平台的部分工作。或者说,多年来,你用来创建 Web 页面的东西,现在可以用来创建类似桌面和智能手机程序的应用。
开源模式带来转变
O’Reilly 创始人,Tim O’Reilly,一位开源的支持者,曾在《Open
Source Paradigm Shift
》中如是说:
"IBM 对个人电脑设计的商品化使利润从硬件转移到软件这一层面,而开源将带来新的财富
"
价值在不同的层面转移,HTML5
将成为新的层面,商品的价值在下降,现时的浏览器已经成为商品,但这并没有问题,只要它们都遵守标准。人们说,我们可以将操作系统置入浏览器中,但这行不
通,如果我们可以从过去的经历中学到些什么,那就是,不能简单照抄过去的模式,好比广播到电视的变迁,你不能简单地在一个播音员面前放台摄像机完事,将操
作系统置入浏览器未必比 HTML5 离线应用本身更有价值。
发布渠道的重要
诸如 苹果应用商店,Android 应用商店一类的渠道将成为主导,另外,一些新的,象 Valve 游戏渠道,Netflix
电影渠道一类的东西将会出现,在”云“时代,这些发布渠道将像桌面时代的操作系统一样用来对用户进行组织和归类。
我们是如何到达现在这个阶段的?
有两个关键的因素。
感谢 Web 标准
尽管浏览器市场并不统一,但至少他们都运行 HTML,JavaScript 和 CSS。当我们希望通过 Web
推出一些东西的时候,我们知道,无论如何,用户都能看到,然而你能想象人们都自己定义 Web 时的情景吗,假如有人不使用 HTTP协议,或者不使用
HTML,那才是世界的末日。W3C 一类的组织让各个浏览器厂家都保持同一个方向。
还好,我们并没有很多渲染引擎
浏览器并不好做,数十亿的网页,参差不齐的代码,这些东西让独立开发者没有机会单独设计浏览器,因此,有能力设计浏览器的始终是那么一小撮厂商,事
实上,时至今日,我们只有四种主要的浏览器渲染引擎,Trident (IE), Gecko (Mozilla, Firefox), WebKit
(Chrome, Safari), 以及 Presto
(Opera),而众多浏览器都是建立在这些渲染引擎之上的。这意味着,不管在什么样的设备上,我们不用太担心它使用什么样的浏览器,不管什么设备,只要
它有一个浏览器,就有一个可以运行 HTML5 的环境。
标准何日面世?
关于 HTML5 成为标准的时间,Ian Hixie
的说法最受认可:
"根据估计,HTML5 直到 2022 年才会形成 W3C 推荐标准
"
然而,虽然标准的形成尚待时日,但浏览器厂商已经在实现各种 HTML5 功能。
功能探测 vs 浏览器探测
如果你是开发者,你可以使用那些高级功能,但需要进行功能探测并提供渐进式设计。坊间有大量的功能探测库,如 Modernizer
,另外,Mark Pilgrim 有一个清单,它可以让你探测任何功能
。
离线 API
离线 API 是一切 HTML5 应用的基础,不单单是离线数据的事,对开发者来说,拥有本地存储(localStorage
)
自然很好,但如何让程序完全离线运行?Application
Cache
是答案。如果不能离线保存源文件和数据,我们就无法实现离线的 HTML5 应用。
我们目前有几种离线存储机制,简单的如 localStorage
和 SQL 存储引擎,已经有一些浏览器在支持了,而最新的明星是 Indexed Database
,它得到了所有主
流浏览器支持。这些离线保存应用和数据的能力,是 HTML5 的基础,目前,Webkit,Firefox 已经可以实现,而 IE9
也即将实现。即时 IE9 的支持还需要等待,想一下,最需要离线应用的场合是哪里,自然是智能手机和上网本,智能手机多数都是用 Webkit。
W3C Web 应用工作组:HTML5 应用的下一步
W3C WebApp
s 标准已经做了大量工作,包括 API
及 HTML5 Web 程序细则。
HTML5 应用的打包部署
HTML5
apps – QuirksBlog
博客文章中说,"对于本地/离线 HTML5 应用,W3C Widget packaging and
configuration
是首选机制,并将成为事实标准,很多厂商已经开始对之进行实现。W3C Widgets 支持任意平台的 Vodafone S60 和 Samsung
手机
, Opera
桌面与移动浏览器
,Bolt 浏览器
以及 Windows
Mobile 6.5
。BlackBerry
也支持,不过需要特殊的 Java 包。
"
这些都是标准,本质上讲,如果你有一个 HTML5 应用,它就会包含 HTML, CSS, 以及
JS,这些标准只不过偶是帮助开发者将他们的程序打包发行,如果你熟悉 PEAR
,
它们是很相似的概念。你可能需要一些元数据,告诉系统你的程序是如何打包在一起的,在支持这些标准的平台上,你就可以保证你的用户可以顺利运行这些程序。
其它
HTML5 还有更多 API 可以帮助开发者创建应用,这些 API 可以让你的程序访问诸如本地文件
,摄像头
,SOCKET 通信服务
,以及硬件动画加速
等。这些 API 仅仅是开端,这样的 API 后期会越来越多。
HTML5 程序可以应用在哪里?
当然是浏览器,如果一个设备拥有一个浏览器或渲染引擎,而且这个引擎是现代引擎,它就可以运行 HTML5 程序。HTML5
程序会应用在以下几种场合。
桌面
如果你拥有一个符合 Web 标准的浏览器,就可以运行 HTML5 应用。桌面仍然很重要。
指定站点浏览器
诸如 Gmail 一类的站点可以看做一个应用,使用专门的浏览器
运
行,这样的浏览器没有地址栏,是专门用来运行指定站点应用的,甚至可以制作一个安装包来分发。以下资源值得一看,Prism
, Fluid
/Fluidium
以及 NativeHost
。
移动领域
这是 HTML5 最热门的运行场所。iPhone 可以和很多程序集成,将你的程序显示在它的今日桌面(这里有
一个教程
),Android 也支持需要的 HTML5 API,但集成不够好。未来几年,支持 HTML5
的移动浏览器将如雨后春笋,将你的应用向 HTML5 迁移是很明智的,因为 HTML5 将很好地运行在这些设备上。
跨界领域
已经有公司即将发布电视平台,Google TV
以及 Apple TV
,Google 表示,他们的 TV
平台将支持 HTML5,我们不知道苹果的 TV 平台将支持什么,鉴于他们最近对 HTML5 的一系列炒作
,很有可能也支持。另外
一些电视盒厂商,如 Boxee
业已开始支持 HTML5,如果你想为 Boxee 开发应用,与其专门为它开发,不如直接使用 HTML5。
跨界领域拥有大量的平台,那些可以连接电脑的电视的数量在不断增长,我们已经可以在电视上全屏观看 YouTube,而备受欢迎的 Wii
则内置了 Opera。所有这些,都将借助 HTML,CSS 与 JavaScript。
HTML5 应用商店
Eric Meyer 讲到了 HTML5 应用程序问题,他将 HTML5 应用成为 Web
Stack Apps
, HTML5 要获得更多关注,可以
建立 HTML5 应用商店
。Chrome
正在这样做,而 Palm
已经有了一个这样的东西
。
应用商店是很好的东西,开发者可以直接得到报酬,而无需像现在这样靠广告维持,同时,用户也将有一个地方去为他们的设备寻找程序。
HTML5 市场前景
HTML5 在快速成长,值得所有人密切关注,最近的一两年,会有很多公司进入这个领域,我们或许会在 Chrome
应用商店看到一些重量级厂商,我们也有希望在 Google TV 和 Apple TV 领域看到一些应用商店的出现。HTML5 会像传统的
Flash,Flex,Silverlight,Objective-C 那样,形成自己的生态系统。HTML5 将比 Flash, Flex,
Silverlight 以及 Objective-C 更容易出现在任何设备。
对于年轻一代开发者,HTML5 应当是他们首选技能,HTML5 会形成很大的市场,很有很多公司需要这方面的人才。
延伸阅读
原文作者
Alex Kessinger 是一名 Yahoo 前端工程师,他的博客地址是 alexkessinger.net
,
他还是 Tastestalkr
Network
的合伙创始人,现居旧金山湾区。
本文国际来源:sixrevisions.com The
State of HTML5 Apps
中文翻译来源:锐商企业CMS
网站内容管理系统
官方网站
分享到:
相关推荐
计算机网络安全技术应用现状与前景.pdf
ChatGPT相关情况分析及介绍,行业现象、应用前景、风险等分析
本文将基于微信小程序的“互联网+户政”应用现状与发展前景进行分析,总结其发展特点,并展望未来的发展方向。 一、微信小程序在户政管理中的应用现状 微信小程序在户政管理领域的应用主要体现在为民众提供便捷的...
协作机器人的发展现状与前景 2017年11月 协作机器人的发展现状与前景全文共32页,当前为第1页。 目 录 一、协作机器人定义 二、协作机器人产生的渊源 三、协作机器人的特点 四、市场与竞争 五、机遇与挑战 六、发展...
本文针对大数据背景下农产品电商平台在长春市的发展现状及未来前景进行了深入调查与分析。 ICT(信息和通信技术)通过自动化手段有效提高生产效率,对于促进各行各业的发展具有积极影响。随着ICT技术的成熟,我们...
桂林农村电商的发展是我国农业电商化进程中的一个重要组成部分,其现状和前景具有典型的参考价值。桂林地区借助于近年来全国电子商务的迅猛发展势头,逐步将互联网技术与农村经济相结合,推动了当地农产品的销售和...
三维数字化ProE软件的应用现状及前景 Pro/E 软件是美国 PTC 公司开发的基于设计的三维软件,具有 CAD/CAE/CAM 等多方面功能,是基于实体的 CAD/CAM 软件的典范。Pro/E 软件的特点是基于实体的三维造型,可以使设计...
1绪论 1.1 手机操作系统的研究背景 1.2手机操作系统研究的意义 1.3研究的思路和方法 1.4研究存在的不足 2 主流手机操作系统的应用现状及分析 .......
工业机器人市场应用现状及前景 自从工业机器人技术诞生并开始投入使用以来,其应用领域不断扩展,销售量也随之节节攀升。在全球范围内,工业机器人的应用已经覆盖了多个行业,其中,中国市场表现尤为突出。根据描述...
服务型机器人技术应用现状与前景.docx
本文分析和讨论了马尾松木屑用于食用菌栽培的研究现状。 发现马尾松的木屑含有食用菌的物质基础,... 最后,分析了马尾松木屑用作食用菌栽培基质的主要问题,并对马尾松木屑用作食用菌栽培基质的应用前景进行了展望。
电力电子技术及在电力系统中的应用现状及前景
ChatGPT技术在金融领域的应用现状与前景展望
FLASH动画的发展现状及前景.docx
国内天然气分布式能源的发展现状与应用前景,是当前能源领域关注的热点问题。分布式能源系统,作为一种新型的能源利用方式,已经成为推动能源结构优化和提升能源安全保障能力的重要途径。 分布式能源系统,是指将...
结合我国煤炭资源和选煤工业发展现状,分析了干法选煤的必要性和适用性及干法选煤设备发展现状,展望了干法选煤应用前景,并就其未来发展提出建议,可为煤炭企业合理选择煤炭加工方案,提高综合经济效益提供一定参考。
本ppt介绍云计算的现状与前景分析,未来云计算畅想。
储能技术在电力系统中的应用现状与前景.pdf
本文将从AI安防芯片的发展背景、市场需求、技术进步、市场格局以及面临的挑战等多个方面进行分析,探讨AI安防芯片的发展现状与前景。 首先,安防芯片作为安防系统中的核心部件,对于系统的整体功能、技术指标、稳定...