在新的时代里,相信网页技术会伴随HTML 5的来临进入大洗牌的局面,HTML 5旨在解决Web中的交互,媒体,本地操作等问题,一些浏览器已经尝试支持HTML 5的一些功能,而开发者们有望最终从那些Web插件中得到解脱。

不过,需要指出的是,尽管一些重量级Web技术厂家,象Apple,Google,Mozilla基金会,Vimeo,YouTube已经开始支持这个新标准。但W3C表示,HTML 5前面的路还很长,它的一些细则目前还存在争议,主流的Web在转至HTML 5之前还要经过很长的时间。而开发者们也不得不面临两难的境地,就是如何使用现在的技术设计出富Web应用,同时又为今后的HTML 5做好准备。

富Web的现代HTML

富Web应用和HTML之间并不般配,Web之父TimBerners-Lee这样看待HTML,它是一种用来创建平台独立的超文本文档的标记语言,随着XHTML的诞生,W3C也将网页视为文档。这样那些视Web为应用平台的开发者十分恼火,2004年,Apple,Mozilla基金会和 Opera成立了一个超文本应用技术工作组(WHATWG),寻求创建一个W3C之外的标准组织,以打造一个更适合应用的Web。

2007年,他们的XHTML2陷入永无止境的纷争之中。后来,W3C经投票决定吸纳WHATWG的工作成果,并作为HTML 5的标准。这时,即使TimBerners-Lee也对面向应用的Web伸出橄榄枝,他说,现在看来,我们面向XML所做的那些努力是无效的。这并非说纯净的XML语法已死,虽然HTML的发展方向已改,但在HTML 5发展的同时,XHTML 5也在同步进行中,区别在于,XHTML将适用于那些已经向XML转换的人,而对于普通开发者,则不一定使用XHTML。

HTML 5:标签的改变

HTML 5吸取了XHTML2的一些建议,包括一些用来改善文档结构的功能,比如,新的HTML标签header,footer,dialog,aside,fugure等的使用,将使内容创作者更加语义地创建文档,之前的开发者在这些场合是一律使用div的。

HTML 5还包含了一些将内容和展示分离的努力,开发者们也许会惊讶,b和i标签依然存在,但它们的意义已经和之前有所不同,这些标签的意义只是为了将一段文字标识出来,而不是为了为它们设置粗体或斜体式样。u,font,center,strike这些标签则被完全去掉了。

新标准适用了一些全新的表单输入对象,包括日期,URL,Email地址,其它的对象则增加了对非拉丁字符的支持。HTML 5还引入了微数据,一种使用机器可以识别的标签标注内容的方法,使语义Web的处理更为简单。总的来说,这些与结构有关的改进使内容创建者可以创建更干净,更容易管理的网页,这样的网页对搜索引擎,对读屏软件等更为友好。

实现基于标准的富Web

然而,HTML 5最令人振奋的是那些让开发者们实现富应用的新API,诸如图形,动画,多媒体,在HTML 5之前,这些功能的实现需要Flash,RealMdeia,QuikTime一类的插件,这些插件技术不仅容易带来安全隐患,而且它的受众是受限的,HTML 5通过使用相应的置标语言解决了这些问题,内容创建者可以使用类似MathML以及SVG之类的语言实现数学公式和图形的创建,这些语言比 Flash,Silverlight一类的格式更容易跨平台使用。

Web开发者们更会为HTML 5的audio和ideo标签欢呼,这些标签让Web页面轻松实现媒体的嵌入,它们的编码标准是中立的,意味着浏览器厂商可以自己使用何种编码输出媒体,而它的video标签更将使那些不支持Flash的移动浏览器获益匪浅。

Canvs标签会让交互式Web图形更上一层楼,开发者可以使用JavaScript操作canvas中的对象,实现实时的交互式图形操作,甚至实现交互式游戏。除了这些可以看到的变化,HTML 5还引入基于浏览器的程序缓存,将应用数据在本地缓存(就像之前的GoogleGears插件),这不仅能加速Web程序的运行,还可以使一些程序在离线时仍可使用。事实上,Google现在慢慢取消对Gears的支持,全面转向HTML 5。

浏览器插件:还不至于死

尽管HTML 5推出了这么多新功能,但不要指望那些插件会一夜消失,纯粹的HTML 5要实现目前这个插件世界的全部功能还要很长的时间,更不要说那些需要继续支持的旧系统。比如,虽然Vimeo和YouTube已经开始使用video标签输出视频,然而事情并不是那么简单,W3C还没有确定使用何种编码方案,这意味着,那些视频并不能保证在任何设备上都能看。比如 Apple,Google以及微软都主推H.264编码,而开源的Firefox则不愿意,因为存在许可问题。

另外,并不是所有旧系统都会以HTML 5重写,比如,尽管Google自己都不再看好GoogleGears而主推HTML 5,但Gooel承认,HTM 5并不能实现GoogleGears的全部功能,将基于GoogleGears的应用转换为纯HTML 5是不可能简单实现的。

最后,五花八门的浏览器也会阻碍Web开发者们向HTML 5转移,IE6,旧版本的Firefox,Opera,Safari都不支持HTML 5,因此,除非,绝大多数人的浏览器都升级到最新状态,否则,面向HTML 5的开发仍将面临各种困境。

早期采用者

尽管微软已经表示,IE9会支持HTML 5,但他们对此事也抱谨慎态度,微软认为,在HTML 5标准都未确立的今天,说自己的浏览器支持多数HTML 5功能是不妥的。事实上,任何组织都不可能比W3C更清楚HTML 5的进度,而W3C认为,HTML 5标准仍未成熟,功能确立要到2011年前才能完成,即使到了那时,将这些东西确立为标准也需要到2022年,也就是说,XHTML1.1到HTML 5大约要15年。

不管怎么说,HTML 5将是未来5到10年最前沿的技术,那些早期采用这可以在网络中找到大量的体验站点,目前,体验HTML 5的最好浏览器是那些基于Webkit引擎的浏览器,如Chrome和Safari,Firefox不太流畅。Web开发者们可以使用目前的HTML 5草案创建试验站点,当然在当前浏览器分布体系下,还会有些问题,线上最好的HTML 5开发资源是MarkPilgrim'sexcellentDiveintoHTML 5。

HTML 5将给开发者带来什么?的更多相关文章

  1. SmobilerService 开发者日志(一):什么是 SmobilerService ,它为开发者带来了什么价值?

    初见 SmobilerService 你会发现几个版本,以及一些价格. 所以,"Smobiler 是要收费了吗?" 这是开发团队在幕后悄悄观察 Service 推广开始后,用户向运 ...

  2. 微信小程序如何重写Page方法?以及重写Page方法给开发者带来的好处

    17,18年的时候,我当时主要开发小程序,那时候领导想看一下小程序的访问量,还有一些埋点的需求,于是我们的小程序就接入了阿拉丁统计. 阿拉丁的接入方式除了配置以外,主要就一行引入代码.官方要求将以下代 ...

  3. bug管理工具为开发者工作带来哪些改变?

    BUG管理工具的主要功能是对软件开发测试过程中出现的BUG进行跟踪管理,提高开发者的工作效率与工作质量. 在实际工作中,如果没有bug管理工具的帮助,就可能会出现如下一系列的影响: 1.软件测试人员将 ...

  4. 使用微信web开发者工具调试微信企业号页面(前端页面,已发布在服务器上的)

    前几天写了一篇使用fiddler调试微信端页面的,然后博友评论说使用fiddler太麻烦了,推荐使用微信web开发者工具调试微信页面,这两天弄着玩了一下,很强大.这篇文章只是做一个记录,方便自己以后使 ...

  5. .NET开发者必备的工具箱

    本文作者Spencer是一名专注于ASP.NET和C#的程序员,他列举了平时工作.在家所使用的大部分开发工具,其中大部分工具都是集中于开发,当然也有一些其它用途的,比如图片处理.文件压缩等. 如果你是 ...

  6. 开发者最常用的 8 款 Sublime Text 3 插件

    转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0228/177.html?1456925631Sublime Text作为一个尽为人知的代码编辑器, ...

  7. Amazon的Fire Phone之于Android开发者

    在上周Amazon也耐不住加入了手机竞争行列之中,发布了自己的Fire Phone,于是Android家族又多了一位变种成员,Android系统的碎片化程度也进一步加剧.因为工作的关系,我有幸在上个月 ...

  8. OpenGL 完全教程(写给Delphi的开发者) 前言

    前言 在开发了许多2D图形程序之后,许多人开始对3D图形编程产生了兴趣.学习一套3D API,是进行3D图形编程的基础.在有趣的3D图形编程中,3D API只不过充当着一种低级的工具而已.因此,在这里 ...

  9. 开发者必知的8款App快速开发工具

    开发者必知的8款App快速开发工具 “我有一个好创意,就差一个CTO……” “原生APP开发难度大,周期长,成本高,还没上线市场已经被占领了.” “APP版本迭代更新,都是企业的一道难关,没有一个一劳 ...

随机推荐

  1. 20155324 实验5 MSF基础应用

    20155324 实验5 MSF基础应用 ms08_067 用search命令,搜索与ms08_067相关的模块,如图: 服务器信息块(SMB)是一个网络文件共享协议,它允许应用程序和终端用户从远端的 ...

  2. 【转】Java中的新生代、老年代、永久代和各种GC

    JVM中的堆,一般分为三大部分:新生代.老年代.永久代: 1 新生代 主要是用来存放新生的对象.一般占据堆的1/3空间.由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收. 新生代又分为 ...

  3. zhifubao

    使用Git的一个优势便是 我们可以自由的切换到其他分支,而不影响主分支的正常开发,每个分支上都是一份完成的可执行代码那么如何创建分支呢, 创建分支有几种方法, 本地分支和远程分支的差别,意义各是什么,

  4. python&django 实现页面中关联查询小功能(中级篇)

    目的 组合搜索实现如下图功能 知识点 1.使用自定义标签模板(templatetags) 实现 models.py 和 views.py和初级篇一样 重点如下:在app01目录下创建templatet ...

  5. springmvc 开发流程图

  6. 二分查找算法的java实现

    1.算法思想: 二分查找又称折半查找,它是一种效率较高的查找方法.    时间复杂度:O(nlogn) 二分算法步骤描述: ① 首先在有序序列中确定整个查找区间的中间位置 mid = ( low + ...

  7. WPF 10天修炼 第九天 - 几何图形

    几何图形 使用LineGeometry.RectangleGeometry.EllipseGeometry对象分别绘制直线.矩形.椭圆. 使用GeometryGroup可以绘制组合图形. <Wi ...

  8. Java中值传递和引用传递的区别

    在Java中参数的传递主要有两种:值传递和参数传递: 下面是对两种传递方式在内存上的分析: 一:值传递 解释:实参传递给形参的是值  形参和实参在内存上是两个独立的变量 对形参做任何修改不会影响实参 ...

  9. 【Git】git rebase报错new blank line at EOF.处理

    执行git rebase报错如下: First, rewinding head to replay your work on top of it... Applying: 本次提交信息 .git/re ...

  10. 第一个 Python 程序

    ## 目标 * 第一个 `HelloPython` 程序* `Python 2.x` 与 `3​​.x` 版本简介* 执行 `Python` 程序的三种方式 * 解释器 —— `python` / ` ...