HTML5 似乎是目前互联网最为火爆的名字了,因为整个互联网几乎完全都建立在HTML的基础之上,虽然无 论后台技术如何发展,前台基于浏览器和HTML的局面仍然是最为重要的,因为毕竟web 应用最终还是基于HTML进行展示。而备受浏览器厂商追捧的HTML5 到底能带来什么变革呢?下面是摘自开源中国社区的一篇文章,希望能给广大web爱好者一些启示。

  现在的 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 会形成很大的市场,很有很多公司需要这方面的人才。

摘自: 开源中国社区

转载于:https://www.cnblogs.com/lanzhi/archive/2010/06/20/6468835.html

HTML5 应用的现状与前景相关推荐

  1. 从HTML5移动应用现状谈发展趋势

    时光如梭,自2008年HTML5诞生以来已经过去了5年的时间,作为新一代的Web标准,它自问世以来就受到方方面面的强烈关注,也引起了许多争议,支持者因其开放强大的特点而鼓吹它的美好前景,质疑者因其迟迟 ...

  2. 计算机在医疗方面的应用与前景,计算机在医疗卫生领域应用现状及前景.docx

    计算机在医疗卫生领域应用现状及前景 计算机和信息技术在医学领域的应用,经历了 30多年的研究和发展,已成为现代医学中的一个新的边缘 科学,称为医药信息学( Medical Informatics).基 ...

  3. 中国伺服电机行业运营现状及前景趋势展望报告2022-2028年版

    中国伺服电机行业运营现状及前景趋势展望报告2022-2028年版    [报告目录]:     第一章 伺服电机基本情况概述 1.1 伺服电机概况 1.1.1 基本概念 1.1.2 工作原理 1.1. ...

  4. 中国煤化工行业运行现状与前景规划动向预测报告2022-2028年

    中国煤化工行业运行现状与前景规划动向预测报告2022-2028年   第1章:中国煤化工产业发展概况1.1 煤化工行业概念 1.1.1 煤化工概念及分类 (1)煤化工行业概念 (2)煤化工行业分类 1 ...

  5. 飞畅科技-工业以太网的应用现状及前景展望

    由于以太网无可争议的优势,将以太网应用于工业自动化领域正成为人们关注的热点.那么,以太网用于工业领域需要要解决哪些问题,其发展前景怎么样呢?接下来我们就来详细的介绍下工业以太网的应用现状及发展前景.感 ...

  6. 计算机网络技术专业发展现状,计算机网络技术的发展现状和前景

    摘 要:计算机和网络目前已经在我国社会得到普及化应用,对人们生活的方方面面和社会各项工作的开展都产生了革命性的巨大影响.但是,也不得不看到目前我国计算机网络技术发展中仍然存在一些问题,例如计算机网络技 ...

  7. app软件开发现状及前景

    浅谈互联网行业: app软件开发现状及前景 随着市场对app需求增加,市场上开始涌现出大量的app软件开发定制厂商,各家公司根据自己发展需求定制适合自己发展的APP,那么国内APP软件开发现状究竟如何 ...

  8. 全球及中国公共安全记录管理系统行业发展现状及前景趋势预测报告(2022-2027)

    全球及中国公共安全记录管理系统行业发展现状及前景趋势预测报告(2022-2027) ================================================ [报告编号]: B ...

  9. 浅谈软件测试行业的现状和前景

    浅谈软件测试行业的现状和前景 摘要:软件测试在整个软件开发中占据了一半或一半以上的工作量,而且具有很高的组织管理和技术难度.搞好软件测试,是保证软件质量的关键步骤,是分析软件可靠性的重要依据. 关键词 ...

最新文章

  1. javascript 基础篇2 数据类型,语句,函数
  2. Spring - Java/J2EE Application Framework 应用框架 第 11 章 使用ORM工具进行数据访问
  3. 【项目管理】ITTO-风险管理
  4. VC++ 创建Windows服务
  5. java 启动redis服务器_docker启动redis并使用java连接
  6. Java中遍历删除ArrayList中多个元素
  7. 脚本不得关闭非脚本打开的窗口。_selenium自动化测试:2.录制和导出脚本
  8. Python 将 HTML 文件转成指定的编码
  9. 审车按月还是日期_大额存单,应该选择按月付息还是到期一次性还本付息?
  10. .Net资源文件全球化
  11. [MetalKit]7-Using-MetalKit-part-6使用MetalKit6
  12. MS Office 冷门却实用的技巧及软件安装包分享(文末有福利)
  13. [AutoSAR] BSW模块的ECUAL 抽象层
  14. 《金字塔原理》之表达的逻辑
  15. 关于灰鸽子和黑软的一些看法
  16. 语料库的获取与词频分析
  17. journalctl命令详解,与如何查看系统日志
  18. Java混元功法_陈式太极心意混元 入门功法---太极内功 1
  19. Office Tool Plus 下载使用 365 2021/2019等版本
  20. 虚拟主机做游戏服务器,虚拟主机做游戏服务器

热门文章

  1. sharding jdbc:分库、分表;读写分离;
  2. php integer
  3. FileUpload控件
  4. Beaglebone Back学习七(URAT串口测试)
  5. Windows Mobile 技术开发黄金周系列课程
  6. 比亚迪高级驾驶辅助系统ADAS 即将推出
  7. Kmeans、Kmeans++和KNN算法比较
  8. Python 解决写入csv中间隔一行空行问题
  9. Linux之samba服务器的搭建及详解
  10. Java 基础之 static 静态