关注前端开发
HTML5、CSS3、Javascript

关于HTML5应用现状与前景的思考

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

开源模式带来转变

O’Reilly创始人,TimO’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成为标准的时间,IanHixie的说法最受认可:

“根据估计,HTML5直到2022年才会形成W3C推荐标准”

然而,虽然标准的形成尚待时日,但浏览器厂商已经在实现各种HTML5功能。

功能探测vs浏览器探测

如果你是开发者,你可以使用那些高级功能,但需要进行功能探测并提供渐进式设计。坊间有大量 的功能探测库,如Modernizer,另外,Mark Pilgrim有一个清单,它可以让你探测任何功能。

离线API

离线API是一切HTML5应用的基础,不单单是离线数据的事,对开发者来说,拥有本地存储 (local Storage)自然很好,但如何让程序完全离线运行?Application Cache是答案。如果不能离线保存源文件和数据,我们就无法实现离线的HTML5应用。

我们目前有几种离线存储机制,简单的如localStorage和SQL存储引擎,已经有一 些浏览器在支持了,而最新的明星是IndexedDatabase,它得到了所有主流浏览器支持。这些离线保存应用和数据的能力,是HTML5的基础,目 前,Webkit,Firefox已经可以实现,而IE9也即将实现。即时IE9的支持还需要等待,想一下,最需要离线应用的场合是哪里,自然是智能手机 和上网本,智能手机多数都是用Webkit。

W3C Web应用工作组:HTML5应用的下一步

W3CWebApps标准已经做了大量工作,包括API及HTML5 Web程序细则。

HTML5应用的打包部署HTML5 apps–QuirksBlog博客文章中说,”对于本地/离线HTML5应用,W3C Widget packaging and configuration是首选机制,并将成为事实标准,很多厂商已经开始对之进行实现。W3C Widgets支持任意平台的Vodafone S60和Samsung手机,Opera桌面与移动浏览器,Bolt浏览器以及Windows Mobile6.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也支持需要的HTML5API,但集成不够好。未来几年,支持HTML5的移动浏览器将如雨后春笋,将你的应用 向HTML5迁移是很明智的,因为HTML5将很好地运行在这些设备上。

跨界领域

已经有公司即将发布电视平台,GoogleTV以及AppleTV,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)

转载请注明出处大前端 » 关于HTML5应用现状与前景的思考

分享: