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版本迭代更新,都是企业的一道难关,没有一个一劳 ...
随机推荐
- python ftp批量上传文件下载文件
# encoding:utf-8 from ftplib import FTPimport osimport sys _XFER_FILE = 'FILE'_XFER_DIR = 'DIR' clas ...
- spring 4 + hibernate 4 配置数据库事务
配置事务时应该加载aopalliance-1.0.jar和aspectjweaver.jar这两个包,这两个包是必须的.
- laravel-mix的安装
Laravel-mix的安装 Laravel Mix 是一款前端任务自动化管理工具,使用了工作流的模式对制定好的任务依次执行.Mix 提供了简洁流畅的 API,让你能够为你的 Laravel 应用定义 ...
- java实现多个文件以压缩包导出到本地
描述:使用java将多个文件同时压缩为压缩包,并导出到本地 /** *压缩文件并导出 */ public static void zipFiles() throws IOException { Fil ...
- Java读取一个文本文件拼接成一个字符串(readFileToString)
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...
- 20165221 《网络对抗技术》EXP1 PC平台逆向破解
20165221 <网络对抗技术>EXP1 PC平台逆向破解 一.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函 ...
- git查日志命令
git常用命令 1.创建仓库 a.当前目录创建仓库,即把当前目录的文件开始用git管理,该命令会在当前目录下创建一个.git目录 git init b.指定目录创建仓库 git init 目录名 2. ...
- Windows安装docker (带安装包)
docker安装包链接 链接:https://pan.baidu.com/s/1JBk8GCH6j_WeGdoaUuIoWw 提取码:8kgg 我电脑上有了git所以没有勾选最后一个 安装完成后将此目 ...
- 【easy】235. Lowest Common Ancestor of a Binary Search Tree
题意大概是,找两个节点的最低公共祖先 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNod ...
- 如何用java实现一个p2p种子搜索(3)-dht协议实现
dht协议实现 上一篇完成了路由表的实现,建立了路由表后,我们还要对路由表进行初始化,因为一开始路由表为空,所以我们需要借助一些知名的dht网络中的节点,对这些节点进行find_node,然后一步步初 ...