在新的时代里,相信网页技术会伴随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. 简单迷宫算法(递归与非递归C++实现)

    假定迷宫如下:1代表墙,0代表道路,起点在(1,1),终点(11,9)(PS:下标从0开始计算). 现在寻求一条路径能从起点到达终点(非最短). 有两种解法:递归与非递归. 递归算法思路: 要用递归, ...

  2. c\c++里struct字节对齐规则

    规则一.: 每个成员变量在其结构体内的偏移量都是成员变量类型的大小的倍数.   规则二: 如果有嵌套结构体,那么内嵌结构体的第一个成员变量在外结构体中的偏移量,是内嵌结构体中那个数据类型大小最大的成员 ...

  3. git下载/上传文件提示:git did not exit cleanly

    问题:git操作下载/上传文件,提示信息如下 TortoiseGit-git did not exit cleanly (exit code 1) TortoiseGit-git did not ex ...

  4. HTTP协议 详解

    前言 掌握HTTP协议是每一个开发者的基础,超详细的HTTP协议笔记 正文 HTTP协议格式总览 HTTP line HTTP Method(方法) 介绍了我们请求希望执行的操作类型. 方法有: GE ...

  5. js变量类型和计算

    # js入门基础-变量类型和计算 ` --首先由于我使用了一个不太合格的markdown来编写来文章,所以在移动端阅读不要太方便,建议移动端使用横屏模式或pc端阅读,当然如果你有平板那是最好的. -- ...

  6. 【转】一文掌握 Linux 性能分析之 I/O 篇

    [转]一文掌握 Linux 性能分析之 I/O 篇 这是 Linux 性能分析系列的第三篇,前两篇分别讲了 CPU 和 内存,本篇来看 IO. IO 和 存储密切相关,存储可以概括为磁盘,内存,缓存, ...

  7. window下安装 node ,并搭建 vue 项目

    uname -a  命令查看到我的Linux系统位数是64位(备注:x86_64表示64位系统, i686 i386表示32位系统) window下安装node 1.在官网上选择对应的位数的msi安装 ...

  8. nginx允许IP访问不生效问题【原创】

    使用nginx的nginx_upstream_check模块来检测后端服务器的转态时,设置只允许某段IP访问,发现不生效,不在此网段的IP也可以访问. 原因为在允许IP访问最后一定要加deny all ...

  9. Elastichsearch实践——基本使用

    官网文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.html es中的索引.类型.文档可以 ...

  10. VMware虚拟机配置内网电脑能访问

    关键字:内网访问虚拟机.内网访问Linux虚拟机.虚拟机访问外部网络 1.vmware虚拟机网络设置为桥接模式 2.虚拟机配置iP地址,以linux系统为示例. 勾选自动连接,选择手动配置ip,然后配 ...