HTML 5将给开发者带来什么?
在新的时代里,相信网页技术会伴随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将给开发者带来什么?的更多相关文章
- SmobilerService 开发者日志(一):什么是 SmobilerService ,它为开发者带来了什么价值?
初见 SmobilerService 你会发现几个版本,以及一些价格. 所以,"Smobiler 是要收费了吗?" 这是开发团队在幕后悄悄观察 Service 推广开始后,用户向运 ...
- 微信小程序如何重写Page方法?以及重写Page方法给开发者带来的好处
17,18年的时候,我当时主要开发小程序,那时候领导想看一下小程序的访问量,还有一些埋点的需求,于是我们的小程序就接入了阿拉丁统计. 阿拉丁的接入方式除了配置以外,主要就一行引入代码.官方要求将以下代 ...
- bug管理工具为开发者工作带来哪些改变?
BUG管理工具的主要功能是对软件开发测试过程中出现的BUG进行跟踪管理,提高开发者的工作效率与工作质量. 在实际工作中,如果没有bug管理工具的帮助,就可能会出现如下一系列的影响: 1.软件测试人员将 ...
- 使用微信web开发者工具调试微信企业号页面(前端页面,已发布在服务器上的)
前几天写了一篇使用fiddler调试微信端页面的,然后博友评论说使用fiddler太麻烦了,推荐使用微信web开发者工具调试微信页面,这两天弄着玩了一下,很强大.这篇文章只是做一个记录,方便自己以后使 ...
- .NET开发者必备的工具箱
本文作者Spencer是一名专注于ASP.NET和C#的程序员,他列举了平时工作.在家所使用的大部分开发工具,其中大部分工具都是集中于开发,当然也有一些其它用途的,比如图片处理.文件压缩等. 如果你是 ...
- 开发者最常用的 8 款 Sublime Text 3 插件
转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0228/177.html?1456925631Sublime Text作为一个尽为人知的代码编辑器, ...
- Amazon的Fire Phone之于Android开发者
在上周Amazon也耐不住加入了手机竞争行列之中,发布了自己的Fire Phone,于是Android家族又多了一位变种成员,Android系统的碎片化程度也进一步加剧.因为工作的关系,我有幸在上个月 ...
- OpenGL 完全教程(写给Delphi的开发者) 前言
前言 在开发了许多2D图形程序之后,许多人开始对3D图形编程产生了兴趣.学习一套3D API,是进行3D图形编程的基础.在有趣的3D图形编程中,3D API只不过充当着一种低级的工具而已.因此,在这里 ...
- 开发者必知的8款App快速开发工具
开发者必知的8款App快速开发工具 “我有一个好创意,就差一个CTO……” “原生APP开发难度大,周期长,成本高,还没上线市场已经被占领了.” “APP版本迭代更新,都是企业的一道难关,没有一个一劳 ...
随机推荐
- :focus-within伪类选择器的3种应用
1.点击form里任意input隐藏form以外内容提高用户体验 <form><input type="text"></form> form { ...
- MySQL sum聚合函数
select sum(if(money > 0, money, 0)) as money from total_money 意思是如果money > 0, 将money的值累加到tot ...
- python核心编程(多线程编程)
1.全局解释器锁 2.threading模块 thread类
- windows 2012 如何设置取消禁拼ping
直接上操作方法: 开始——搜索——高级安全windows防火墙——入站规则找到“文件和打印机共享(回显请求-ICMPv4-in)”右击……选择“启用规则”就OK了! 如果用到IPV6.后面也有 “文件 ...
- I/O多路复用之select、poll、epoll
很早之前有写过篇IO多路复用的文章:https://www.cnblogs.com/klcf0220/archive/2013/05/14/3077003.html 参考链接:https://segm ...
- Error occurred during initialization of VM Incompatible initial and maximum heap sizes specified
双击Tomcat server在eclipse弹出的Tomcat配置项里面选择open launch configuration 选择arguments在 vm arguments 里面添加 -Xms ...
- 小米平板4 Plus获取Root超级权限的步骤
小米平板4 Plus有么好方法开启Root权限?大家都清楚,Android机器有Root权限,一旦手机开启root相关权限,就可以实现更强大的功能,打比方大家部门的营销部门的同事,使用个别营销应用都需 ...
- 论文阅读笔记五十一:CenterNet: Keypoint Triplets for Object Detection(CVPR2019)
论文链接:https://arxiv.org/abs/1904.08189 github:https://github.com/Duankaiwen/CenterNet 摘要 目标检测中,基于关键点的 ...
- 饮冰三年-人工智能-Python-28 企业官网(组合搜索)
1 2:组合搜索 2.1 创建model类 from django.db import models class Direction(models.Model): """ ...
- Docker中mysql大小写敏感配置不起作用的问题排查
由于linux中mysql的的表名是区分大小写的.所以需要配置my.conf. 所以在docker中需要把配置文件带进去.在宿主机的目录中新建my.conf文件,然后写入如下配置. [mysqld]u ...