阅读更多

现在的 HTML5 就像当年崭露头角时的 Ajax,有人在做,但不知道叫它什么。最近,苹果在 HTML5 上大做文章,而著名的 Web 设计师 Eric Meyer 则提出了 Web Stacks 的概念。Alex Kessinger 是 Yahoo 的一名前端工程师,本文是他对 HTML5 应用现状与前景的思考。

术语

首先说说 HTML5 应用中的几个定义。

HTML5

HTML5 最好的定义来自  Mark PilgrimDive 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 WebApps 标准已经做了大量工作,包括 API 及 HTML5 Web 程序细则。

HTML5 应用的打包部署

HTML5 apps – QuirksBlog 博客文章中说,"对于本地/离线 HTML5 应用,W3C Widget packaging and configuration 是首选机制,并将成为事实标准,很多厂商已经开始对之进行实现。W3C Widgets 支持任意平台的 Vodafone S60 和 Samsung 手机, Opera 桌面与移动浏览器Bolt 浏览器 以及 Windows Mobile 6.5BlackBerry 也支持,不过需要特殊的 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 会形成很大的市场,很有很多公司需要这方面的人才。

 

本文国际来源:sixrevisions.com The State of HTML5 Apps

 

中文翻译来源:锐商企业CMS 网站内容管理系统 官方网站

来自: comsharp
20
3
评论 共 13 条 请登录后发表评论
13 楼 damoqiongqiu 2011-06-15 00:38
可以开始热身了
12 楼 huatu122 2010-06-22 10:16
只能观望啊
11 楼 Aina_hk55HK 2010-06-22 09:13
[img][/img][url][/url][flash=200,200][/flash]
引用
10 楼 wuxian_Abs 2010-06-22 08:36
继续观望^^^^^^^^^^^
9 楼 左看右看 2010-06-21 20:41
关注html5
8 楼 ltian 2010-06-21 18:44
phenom 写道
Flex,SL,JFX,等是小标准,HTML5是大标准
大鱼吃小鱼,

错,当今时代应该是 快鱼吃慢鱼
7 楼 grasszring 2010-06-21 17:57
trains629 写道
ie6不退出历史,html5不过是个玩笑

没错。
6 楼 trains629 2010-06-21 17:26
ie6不退出历史,html5不过是个玩笑
5 楼 nakupanda 2010-06-21 16:59
“现在的 HTML5 就像当年崭露头角时的 Ajax,有人在做,但不知道叫它什么。”
不知为什么这句话触动了我,面试被人问AJAX的问题感觉被人侮辱 ...
4 楼 phenom 2010-06-21 16:49
Flex,SL,JFX,等是小标准,HTML5是大标准
大鱼吃小鱼,
3 楼 smzd 2010-06-21 15:24
看来我们还基本无法参与基于HTML5的应用程序的开发吧
2 楼 fuxin116518 2010-06-21 15:20
观望的同时,也要拿来用一用。
1 楼 wese345 2010-06-21 13:25
继续观望html5

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Borland Database Engine v5.2 BDE x64 64位系统可用版

    Borland Database Engine v5.2 BDE x64 64位系统可用版, 找了很多都是不能用的,这是在国外网站找到的,亲测在Win2003 64位系统上可用。

  • 配置数据库引擎BDE(Borland DataBase Engine)

    一、数据库引擎(Borland Database Engine)的配置指南 1、BDE配置工具概述   本部分引自Borland数据库引擎BDE配置部分的联机指导。Borland Database Engine (BDE)是Borland公司数据库产品以及用Borland公司提供的数据库开发的应用程序的软件核心。您将使用下文介绍的工具去配置数据库引擎BDE。  数据库引擎的配置

  • Delphi数据库处理组件BDE、ADO、InterBase和dbExpress详细说明

    虽然ADOTable和ADOQuery组件可以非常简单的连接数据库,但是当需要更加精细的控制数据库的时候,往往需要应用ADO 更多的方法,我们知道,支撑ADO 的主要由Connection,Command,Recordsrt三个对象组成, 对应的就有ADOConnection和ADOCommand控件,而Recordsrt对象属性和方法,封装在ADODataSet中,同时ADODataSet本身,也具备和ADOtable组件相同的对数据绑定控件控值的属性和方法。在特殊的设计中,这个表格可能会有用。

  • Borland Database Engine (bde)

    Inprise公司的数据库引擎,它结合了SQL Links允许程序员通过它能够连接到各种不同的数据库。

  • WIN7 64位bde

    bde win7 x64 64位 在64位win7上测试通过

  • Borland database engineer(BDE)安装包下载

    单独的BDE安装包,需要安装bde数据引擎的可以下载

  • BDE(Borland Database Engine) v5.02

    BDE(Borland Database Engine)是宝兰数据引擎的缩写。

  • BDE数据库引擎Borland Database Engine

    Borland公司的数据库引擎 Borland Database Engine,包含DBE Administrator组件。

  • BDE数据库引擎(BorlandDatabaseEngine驱动单独安装程序)

    BDE数据库引擎(BorlandDatabaseEngine驱动单独安装程序)

  • bde6.0安装文件(borland数据库引擎)

    borland数据库驱动程序安装包。borland的数据库引擎安装通常是随delphi/C builder等开发工具一起安装,在开发时没有什么麻烦的,但在客户端安装时就啰唆了些,且安装后还要设置一些语言码选项,比较麻烦。本安装包只有不到4M,携带、安装方便!

  • 再谈BDE——轻松操纵EXCEL(一)

    再谈BDE——轻松操纵EXCEL作者:董维春(CH)(请勿转载,我的作品没必要为你撰钱) 学习CB快十年了,对BDE再熟悉不过,更是比ADO还喜欢的一种连接数据库的手段,宝兰在Delphi7后基本放弃了对BDE的再修改,把更多的精力用在dbExpress数据连接工具的开发上, BDE到CB6上所使用的版本也就基本停止了更新(CB后来的几个版本我没有使用过,看宝兰把自己产品卖来卖去,

  • 深入QuickReport(一)

    深入QuickReport(一)作者:董维春(本文已在《CSDN开发高手》04年第一、二、三期上发表,应广大网友的要求,经编辑同意,发表在CSDN作者本人文档中,略有修改,但仅即于此,未经CSDN或作者本人同意任何个人与网站不得转载、摘抄,否则任何涉及到版权的行为后果自负) 报表是数据库应用程序的基本组成部分之一,完整的数据库应用程序总要提供报表功能。与传统的数据库应用程序设计工具

  • 深入QuickReport(三)

    深入QuickReport(三) 作者:董维春 (本文已在《CSDN开发高手》04年第一、二、三期上发表,应广大网友的要求,经编辑同意,发表在CSDN作者本人文档中,略有修改,但仅即于此,未经CSDN或作者本人同意任何个人与网站不得转载、摘抄,否则任何涉及到版权的行为后果自负)   第三部分:报表中的其他问题     通过前两部分的学习,我想你对QuickRep已经有了一定的掌握,在这部分我们对报

  • 深入QuickReport(二)

    深入QuickReport(二) 作者:董维春 (本文已在《CSDN开发高手》04年第一、二、三期上发表,应广大网友的要求,经编辑同意,发表在CSDN作者本人文档中,略有修改,但仅即于此,未经CSDN或作者本人同意任何个人与网站不得转载、摘抄,否则任何涉及到版权的行为后果自负)   第二部分:深入QuickReprot例程   在应用中学习,在实践中进步,这是我学习QuickReport的最大感受

Global site tag (gtag.js) - Google Analytics