在新的时代里,相信网页技术会伴随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. python学习08

    python中的异常处理 1.格式 try 语句块 except else finally else 是如果try语句没有异常,就执行,否则不执行 finally 不管程序是否异常,都会执行. 2.异 ...

  2. GDB程序调试工具

    GDB程序调试工具 GDB主要完成下面三个方面的功能: 启动被调试程序 让被调试程序在指定的位置停住 当程序被停住时,可以检查程序状态 GDB快速入门 编译生成可执行文件 gcc -g test.c ...

  3. Windows Hook技术

    0x01 简介 有人称它为“钩子”,有人称它为“挂钩”技术.谈到钩子,很容易让人联想到在钓东西,比如鱼钩就用于钓鱼.编程技术的钩子也是在等待捕获系统中的某个消息或者动作.钩子的应用范围非常广泛,比如输 ...

  4. 你们都在用IntelliJ IDEA吗?或许你们需要看一下这篇博文

    写在前面 以前一直用的elipce,如今入坑IntelliJ IDEA,没想到啊.深深的爱上了它,强大到无所不能: "工欲善其事必先利其器",IntelliJ IDEA作为一个非常 ...

  5. JAVA进阶17

    ---恢复内容开始--- 间歇性混吃等死,持续性踌躇满志系列-------------第17天 1.递归结构 递归是一种常见的解决问题的方法,即把问题逐渐简单化.递归的基本思想就是自己就是“自己调用自 ...

  6. python 文本比对

    # -*- coding:utf-8 -*- import difflib import sys def readfile(filename): try: fileHandle = open(file ...

  7. HtmlWebpackPlugin用的html的ejs模板文件中如何使用条件判断

    折腾: [已解决]给react-hot-boilerplate中的index.html换成用HtmlWebpackPlugin自动生成html 期间,已经有了思路了,但是不知道如何在ejs的html中 ...

  8. eclpse:安装explorer或eExplorer插件

    结论:个人感觉 eExplorer更好. 1.安装explorer Help->Eclipse Marketpalce find:explorer dian 点击"Install&qu ...

  9. <A>标记onclick事件

    <script> function ss() { document.getElementById("btnPublicity").click(); }</scri ...

  10. python之yield的一些应用

    生成器 yield是用于生成器.生成器通俗的认为,在一个函数中,使用了yield来代替return的位置的函数,就是生成器.它不同于函数的使用方法是:函数使用return来进行返回值,每调用一次,返回 ...