现在的 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. 学习环境中缺少高手指导:缺乏经验丰富的导师往往会...
远程debug流程,方便debug
基于麻雀生物特性的搜索算法(SSA)的Matlab实现:原理、代码与实战应用,基于圈养麻雀特性的搜索算法(SSA)matlab实现:原理、代码与警觉机制解析,麻雀搜索算法(SSA)的matlab实现 原创代码,注释清晰,可直接运行 研究表明,圈养的麻雀存在两种不同类型:发现者和加入者。 发现者在种群中负责寻找食物并为整个麻雀种群提供觅食区域和方向,而加入者则是利用发现者来获取食物。 在生活中我们仔细观察会发现,当群体中有麻雀发现周围有捕食者时,此时群体中一个或多个个体会发出啁啾声,一旦发出这样的声音整个种群就会立即躲避危险,进而飞到其它的安全区域进行觅食。 这样的麻雀被称为警觉者。 麻雀搜索算法就是利用麻雀的这种生物特性进行迭代寻优的优化算法。 本资源包含以下三部分内容: 1.麻雀搜索算法的基本原理(两篇参考文献),非常适合用来学习。 2.麻雀搜索算法的matlab代码,注释详细,结构清晰。 3.五个群智能优化算法常用的测试函数。 ,麻雀搜索算法(SSA); MATLAB实现; 原创代码; 注释清晰; 可直接运行; 生物特性迭代寻优; 发现者与加入者; 警觉者; 参考两篇文献。
基于java的五子棋游戏设计源码+论文
deepseek-r1使用指南
DeepSeek+DeepResearch——让科研像聊天一样简单 (1)DeepSeek如何做数据分析? (2)DeepSeek如何分析文件内容? (3)DeepSeek如何进行数据挖掘? (4)DeepSeek如何进行科学研究? (5)DeepSeek如何写综述? (6)DeepSeek如何进行数据可视化? (7)DeepSeek如何写作润色? (8)DeepSeek如何中英文互译? (9)DeepSeek如何做降重? (10)DeepSeek论文参考文献指令 (11)DeepSeek基础知识。
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
DSP28335通过SPI与AD7606八路信号采集与通信的实践:实时数值与波形展示在上位机界面上,DSP28335与AD7606 SPI通信:采集八路信号并通过SCI上送至上位机实现数据及波形显示,Dsp28335利用spi与ad7606通信,采集八路信号,通过sci发送到到上位机显示数值和波形 ,DSP28335; SPI; AD7606; 八路信号采集; SCI; 上位机显示; 数值和波形,DSP28335 SPI通讯 AD7606 八路信号采集 SCI发送上位机显示
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
1、文件内容:marisa-ruby-0.2.4-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/marisa-ruby-0.2.4-4.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法matlab代码: 针对麻雀搜索算法(SSA)在接近全局最优时,种群多样性减少,易陷入局部最优解等问题,提出了一种混沌麻雀搜索优化算法(CSSA)。 通过改进 Tent 混沌序列初始化种群,提高初始解的质量,增强算法的全局搜索能力; ,基于Tent混沌映射的麻雀搜索算法; CSSA(混沌麻雀搜索优化算法); Tent混沌序列初始化种群; 全局搜索能力。,基于Tent混沌映射的CSSA算法:提高麻雀搜索全局搜索能力
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
上接战略下接绩效的培训规划.pptx
基于S7-300 PLC和Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序详解、接线与原理图图谱及组态设计,基于S7-300 PLC与Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序、接线图与组态画面全解析,No.943 基于S7-300 PLC和Wincc Flexible触摸屏温室大棚控制 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面 ,943; S7-300 PLC; Wincc Flexible触摸屏; 温室大棚控制; 梯形图程序; 接线图原理图; IO分配; 组态画面,S7-300 PLC与Wincc Flexible触摸屏联合打造:No.943温室大棚控制系统的设计与实现
基于ADMM算法的GAMS程序:发电商竞标策略模型及其应用解析,GAMS程序解析:基于ADMM算法的发电商竞标策略优化模型与代码实现,GAMS程序:ADMM算法-基于ADMM法的发电商竞标策略 本程序主要介绍ADMM算法在GAMS中的编写方式,模型基于发电商竞标策略进行编写,基本包含了文章中的模型,但并非完全复现,可作为参考程序自学使用,也可在程序的基础上进行修改使用。 需要的同学可根据以下图片研究是否为自己需要的程序进行。 也可提供ADMM部分程序。 程序包括两个,分别为解决战略投资问题的广义MILP制定的GAMS代码、基于提出的共识- admm算法解决战略投资问题的GAMS代码 ,GAMS程序; ADMM算法; 发电商竞标策略; 模型编写; 广义MILP; 共识-ADMM算法; 战略投资问题; 程序修改。,GAMS程序:ADMM算法在发电商竞标策略中的应用示例
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用