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

关于Html5发展和应用前景的更多相关文章

  1. html4,xhtml,html5发展历史

    SGML SGML 是一种很强大但很复杂的标记语言,HTML.XML 就是从中衍生出来的.SGML 的例子如下:<QUOTE TYPE="example"> typic ...

  2. 调查问卷Html5发展综述

    [Html5可以离线操作.是否能开发Html5离线网络应用程序] 按常理Html5开发出来的是Web网页应用.则需网络连接才干下载并使用,作为Html5对离线应用开发的支持最大的特殊,支持离线须要满足 ...

  3. html5的发展历程和由此引起的政治斗争

    2007年,乔布斯断言拒绝Flash并预言HTML5时代来临,IT行业就对HTML5产生了一股宗教热情.HTML5有着许多出众的特性,可以直接在网页上绘图.嵌入音视频.实现信息互动,可以跨越iOS.A ...

  4. IT兄弟连 HTML5教程 HTML5的曲折发展过程 浏览器之间的大战

    播放电影和音乐要使用播放器,浏览网页就需要使用浏览器.浏览器虽然只是一个设备,并不是开发语言,但在Web开发中必不可少,因为浏览器要去解析HTML5.CSS3和JavaScript等语言用于显示网页, ...

  5. HTML最新标准HTML5小结

    写在前面 HTML5出来已经很久了,然而由于本人不是专业搞前端的,只知道有这个东西,具体概念有点模糊(其实就是一系列标准规范啦):因此去年(2015.11.09),专门对HTML5做了个简单的小结,今 ...

  6. 短视频APP+不同类型社交应用发展分析+化妆品电商

    短视频APP——昙花一现还是发展趋势? 在这个互联网与科技并行且飞速发展的时代,各种app不断涌入市场,其中短视频app便是一个典型,美拍,就成功入围2014年十大最火app.而短视频app也势必要成 ...

  7. 第 1 章 HTML5 概述

    学习要点: 1.HTML5 的历史 2.HTML5 的功能 3.HTML5 的特点 4.课程学习问题 主讲教师:李炎恢 HTML5 是继 HTML4.01 和 XHTML1.0 之后的超文本标记语言的 ...

  8. HTML5革命即将爆发

    近日,关于"HTML5生态重建冷思考"成为了很多人热烈讨论的话题.在网页制作市场上面,HTML5技术成为了颇为关注的焦点,在行业和社会各界引起了广泛的关注.HTML5网页制作也创造 ...

  9. 推荐10款非常优秀的 HTML5 开发工具

      HTML5 发展如火如荼,随着各大浏览器对 HTML5 技术支持的不断完善以及 HTML5 技术的不断成熟,未来 HTML5 必将改变我们创建 Web 应用程序的方式.今天这篇文章向大家推荐10款 ...

随机推荐

  1. Python 自动刷博客浏览量

    哈哈,今天的话题有点那什么了哈.咱们应该秉承学习技术的角度来看,那么就开始今天的话题吧. 思路来源 今天很偶然的一个机会,听到别人在谈论现在的"刷量"行为,于是就激发了我的好奇心. ...

  2. linux常用的内核镜像格式

    linux常用的内核镜像格式 Linux内核有多种格式的镜像,包括vmlinux.Image.zImage等. 1.     Linux内核镜像格式 1.1 vmlinux vmlinuz是可引导的. ...

  3. Hadoop:Hadoop简介及环境配置

    http://blog.csdn.net/pipisorry/article/details/51243805 Hadoop简介 下次写上... 皮皮blog 配置hadoop环境可能出现的问题 每次 ...

  4. Java-IO之PrintWriter(字符打印输出流)

    PrintWriter是字符类型的打印输出流,继承于Writer,用于向文本输出流打印对象的格式化表示形式. PrintWriter的主要函数: PrintWriter(OutputStream ou ...

  5. popupwindow和listview

    在使用PopupWindow的时候,有一个不好的地方就是不太好设置弹出窗体的大小.如果指定绝对大小,那么对于不同分辨率不同尺寸的手机来说,显示出来效果会不同,从而导致用户体验不佳. 为了达到Popup ...

  6. 应用UUID简化设计

    应用UUID简化设计(金庆的专栏)UUID(Universally Unique Identifier) 保证每次生成的都是唯一的,不同机器生成UUID也能保证唯一.网游中使用UUID可以避免全局的I ...

  7. UNIX网络编程——shutdown 与 close 函数 的区别

    假设server和client 已经建立了连接,server调用了close, 发送FIN 段给client(其实不一定会发送FIN段,后面再说),此时server不能再通过socket发送和接收数据 ...

  8. 【一天一道LeetCode】#111. Minimum Depth of Binary Tree

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  9. Chapter 3 Protecting the Data(2):分配列级权限

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/39577861,专题目录:http://blog.csdn.net/dba_huangzj ...

  10. spring4泛型初探----一个小例子

    泛型的出现,是为了让代码更规整. 例如 Set<String> set=new HashSet<>(); set.add("abc"); set.add(1 ...