现在的 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
网站内容管理系统
官方网站
分享到:
相关推荐
### HTML5应用现状与前景 HTML5是最新一代的超文本标记语言,它是开放网络平台的核心标准,用于构建和呈现网络内容。文章中提到了对HTML5的思考,这可能包括了HTML5在现代网络开发中的地位、它带来的改变(例如离线...
为了更好地完成毕业设计,学生应参考一系列主要文献,包括医学虚拟仿真实验室的应用前景、国外医学模拟教学的研究现状、破伤风的防控现状、虚拟仿真实验在大学物理实验教学中的应用研究、传统物理实验与虚拟仿真实验...
3. 缺乏对前端整体体系架构的深入思考:有些学习者能够熟练运用技术,但对为何要使用这些技术以及不同技术之间的区别却知之甚少,这样难以形成系统性的理解。 4. 学习环境中缺少高手指导:缺乏经验丰富的导师往往会...
内容概要:本文主要探讨了SNS单模无芯光纤的仿真分析及其在通信和传感领域的应用潜力。首先介绍了模间干涉仿真的重要性,利用Rsoft beamprop模块模拟不同模式光在光纤中的传播情况,进而分析光纤的传输性能和模式特性。接着讨论了光纤传输特性的仿真,包括损耗、色散和模式耦合等参数的评估。随后,文章分析了光纤的结构特性,如折射率分布、包层和纤芯直径对性能的影响,并探讨了镀膜技术对光纤性能的提升作用。最后,进行了变形仿真分析,研究外部因素导致的光纤变形对其性能的影响。通过这些分析,为优化光纤设计提供了理论依据。 适合人群:从事光纤通信、光学工程及相关领域的研究人员和技术人员。 使用场景及目标:适用于需要深入了解SNS单模无芯光纤特性和优化设计的研究项目,旨在提高光纤性能并拓展其应用场景。 其他说明:本文不仅提供了详细的仿真方法和技术细节,还对未来的发展方向进行了展望,强调了SNS单模无芯光纤在未来通信和传感领域的重要地位。
发那科USM通讯程序socket-set
嵌入式八股文面试题库资料知识宝典-WIFI.zip
源码与image
内容概要:本文详细探讨了物流行业中路径规划与车辆路径优化(VRP)的问题,特别是针对冷链物流、带时间窗的车辆路径优化(VRPTW)、考虑充电桩的车辆路径优化(EVRP)以及多配送中心情况下的路径优化。文中不仅介绍了遗传算法、蚁群算法、粒子群算法等多种优化算法的理论背景,还提供了完整的MATLAB代码及注释,帮助读者理解这些算法的具体实现。此外,文章还讨论了如何通过MATLAB处理大量数据和复杂计算,以得出最优的路径方案。 适合人群:从事物流行业的研究人员和技术人员,尤其是对路径优化感兴趣的开发者和工程师。 使用场景及目标:适用于需要优化车辆路径的企业和个人,旨在提高配送效率、降低成本、确保按时交付货物。通过学习本文提供的算法和代码,读者可以在实际工作中应用这些优化方法,提升物流系统的性能。 其他说明:为了更好地理解和应用这些算法,建议读者参考相关文献和教程进行深入学习。同时,实际应用中还需根据具体情况进行参数调整和优化。
嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_8.doc.zip
内容概要:本文介绍了基于灰狼优化算法(GWO)的城市路径规划优化问题(TSP),并通过Matlab实现了该算法。文章详细解释了GWO算法的工作原理,包括寻找猎物、围捕猎物和攻击猎物三个阶段,并提供了具体的代码示例。通过不断迭代优化路径,最终得到最优的城市路径规划方案。与传统TSP求解方法相比,GWO算法具有更好的全局搜索能力和较快的收敛速度,适用于复杂的城市环境。尽管如此,算法在面对大量城市节点时仍面临运算时间和参数设置的挑战。 适合人群:对路径规划、优化算法感兴趣的科研人员、学生以及从事交通规划的专业人士。 使用场景及目标:①研究和开发高效的路径规划算法;②优化城市交通系统,提升出行效率;③探索人工智能在交通领域的应用。 其他说明:文中提到的代码可以作为学习和研究的基础,但实际应用中需要根据具体情况调整算法参数和优化策略。
嵌入式八股文面试题库资料知识宝典-Intel3.zip
嵌入式八股文面试题库资料知识宝典-2019京东C++.zip
嵌入式八股文面试题库资料知识宝典-北京光桥科技有限公司面试题.zip
内容概要:本文详细探讨了十字形声子晶体的能带结构和传输特性。首先介绍了声子晶体作为新型周期性结构在物理学和工程学中的重要地位,特别是十字形声子晶体的独特结构特点。接着从散射体的形状、大小、排列周期等方面分析了其对能带结构的影响,并通过理论计算和仿真获得了能带图。随后讨论了十字形声子晶体的传输特性,即它对声波的调控能力,包括传播速度、模式和能量分布的变化。最后通过大量实验和仿真验证了理论分析的正确性,并得出结论指出散射体的材料、形状和排列方式对其性能有重大影响。 适合人群:从事物理学、材料科学、声学等相关领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解声子晶体尤其是十字形声子晶体能带与传输特性的科研工作者,旨在为相关领域的创新和发展提供理论支持和技术指导。 其他说明:文中还对未来的研究方向进行了展望,强调了声子晶体在未来多个领域的潜在应用价值。
嵌入式系统开发_USB主机控制器_Arduino兼容开源硬件_基于Mega32U4和MAX3421E芯片的USB设备扩展开发板_支持多种USB外设接入与控制的通用型嵌入式开发平台_
e2b8a-main.zip
少儿编程scratch项目源代码文件案例素材-火柴人跑酷(2).zip
内容概要:本文详细介绍了HarmonyOS分布式远程启动子系统,该系统作为HarmonyOS的重要组成部分,旨在打破设备间的界限,实现跨设备无缝启动、智能设备选择和数据同步与连续性等功能。通过分布式软总线和分布式数据管理技术,它能够快速、稳定地实现设备间的通信和数据同步,为用户提供便捷的操作体验。文章还探讨了该系统在智能家居、智能办公和教育等领域的应用场景,展示了其在提升效率和用户体验方面的巨大潜力。最后,文章展望了该系统的未来发展,强调其在技术优化和应用场景拓展上的无限可能性。 适合人群:对HarmonyOS及其分布式技术感兴趣的用户、开发者和行业从业者。 使用场景及目标:①理解HarmonyOS分布式远程启动子系统的工作原理和技术细节;②探索该系统在智能家居、智能办公和教育等领域的具体应用场景;③了解该系统为开发者提供的开发优势和实践要点。 其他说明:本文不仅介绍了HarmonyOS分布式远程启动子系统的核心技术和应用场景,还展望了其未来的发展方向。通过阅读本文,用户可以全面了解该系统如何通过技术创新提升设备间的协同能力和用户体验,为智能生活带来新的变革。
嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_1.zip