回复内容:html5 是对 html 标准的第五次修订,目前仍未完工。其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入。html5 的语法是向后兼容的。
但论及 html5 时,大部分开发者所指的并不仅仅是这个新标准,而是(如 jeremy keith 说) doing anything cool (on the web)做这些“酷”的东西需要用到的技术和标准,除了 html5 标准外,还包括 css3 的一些新属性,以及一些新的 api。
whatwg 在今年一月份宣布(至少对于 whatwg 来说),html5 将是 html 的最后一个版本号,html 从此成为了一个不断在更新和变化的活标准。
大家提到的都是非常好的资料,我这里再补充一些:
来自 w3c 的 html5 草案
http://www.w3.org/tr/html5/
来自 whatwg 的文档
http://www.whatwg.org/specs/web-apps/current-work/multipage/
dive into html5 - 许多泛 html5 技术的入门讲解
http://diveintohtml5.org/
html is the new html5
http://blog.whatwg.org/html-is-the-new-html5
背景介绍:
w3c 全称是万维网协会(world wide web consortium),是制定互联网标准的官方组织。
http://en.wikipedia.org/wiki/world_wide_web_consortium
whatwg 是一个非官方的,由包括来自 mozilla、google、opera 等公司的员工组成的开源社区,是任何人都可以参与的。它对 html(前 html5 标准)、web workers api 等标准的制定和更新做出过很大贡献。
http://en.wikipedia.org/wiki/whatwg
---- 2011 年 12 月 13 日更新 ----
之前对 whatwg 和浏览器厂商关系的叙述有谬误,已更正。更多关于 whatwg 以及其成员组成的信息,参考 @呂康豪 的评论。小二,上名解
html的英文全称为hyper text markup language,即超文本标记语言。html5是html的一个新版本。html 不是一种编程语言,而是一种标记语言 (markup language)。
html5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(html)的第五次重大修改。
html5特性
语义特性(class:semantic)
html5赋予网页更好的意义和结构。更加丰富的标签将随着对rdfa的,微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的web。
本地存储特性(class: offline & storage)
基于html5开发的网页app拥有更短的启动时间,更快的联网速度,这些全得益于html5 app cache,以及本地存储功能。indexed db(html5本地存储最重要的技术之一)和api说明文档。
设备兼容特性 (class: device access)
从geolocation功能的api文档公开以来,html5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。html5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联。
连接特性(class: connectivity)
更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。html5拥有更有效的服务器推送技术,server-sent event和websockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。
网页多媒体特性(class: multimedia)
支持网页端的audio、video等多媒体功能, 与网站自带的apps,摄像头,影音功能相得益彰。
三维、图形及特效特性(class: 3d, graphics & effects)
基于svg、canvas、webgl及css3的3d功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。
性能与集成特性(class: performance & integration)
没有用户会永远等待你的loading——html5会通过xmlhttprequest2等技术,解决以前的跨域等问题,帮助您的web应用和网站在多样化的环境中更快速的工作。
css3特性(class: css3)
在不牺牲性能和语义结构的前提下,css3中提供了更多的风格和更强的效果。此外,较之以前的web排版,web的开放字体格式(woff)也提供了更高的灵活性和控制性。
html5 是定义了 html 的标准的最新演进。 这个术语代表了两个不同的概念:
它是 html 语言的一个新的版本,具有新的元素,属性和行为,
以及可以使 web 站点和应用更加多样化和功能更强大的更丰富的一套技术。 这套技术有时被称作 html5 & 它的朋友们 而且往往被缩减到仅是 html5。从要对全部所有的 web 开发人员有用这一点出发,这个参考页面链接了有关 html5 技术的大量资源,并且基于它们各自的功能,把它们归类成了若干组。
语义:能够让你更恰当地描述你的内容是什么。连通性:能够让你和服务器之间通过创新的新技术方法进行通信。离线 & 存储:能够让网页在客户端本地存储数据以及更高效地离线运行。多媒体:使 video 和 audio 成为了在所有 web 中的一等公民。2d/3d 绘图 & 效果:提供了一个更加分化范围的呈现选择。性能 & 集成:提供了非常显著的性能优化和更有效的计算机硬件使用。设备访问 device access:能够处理各种输入和输出设备。样式设计: 让作者们来创作更加复杂的主题吧!以上来自 mdn ,详细请转到:
html5 - html (中文)
html5 - web developer guide (英文)现在的html5已经是正式的标准了,不再是处于调试状态了。2014年10月28日,w3c正式发布了html5的标准版本。放上我之前写的一篇文章,供各位参考。
h5 是国内对html5 的简称,其实我们每天都在接触它,它无处不在。从「围住神经猫」,「击打企鹅」,「在房祖名中找到张默」这些红极一时的火爆游戏,到现在微信朋友圈推送广告时宝马、vivo 的广告,支付宝十年账单等等,背后都是 html5 技术。
但是很多时候大家对 h5 认识都只是停留在「页面」这个层次上,甚至还会有一些误解,下面就是关于 html5 的一些常见的误解:
#### html5 是一项新技术
html5 原本指 html 下一个主要的修订版本,所用到的技术很早就已经成熟了,而 html5本身并非技术,而是标准。现在国内普遍说的 h5 是包括了 css3,javascript 的说法(严格意义上说,这么叫并不合适,但是已经这么叫开了,就将错就错了)。
那可能有不懂技术的同学会问,到底什么是 html呢?
正规的说法是,html(hyper text markup language,超文本标记语言) 是一门标记语言。所谓「超文本」就是指页面里可以包含图片,链接,甚至音乐等非文字元素;计算机之间需要沟通,那些是正文,那些是图片,都需要标记,标记这些的一套规范和标准就是 html。
#### html5 的性能不好
上面已经说了,html5 本身并不是技术,而是一个标准,不涉及性能问题。性能的问题往往是多方面的,软件层面(浏览器对 h5 的支持),硬件层面,包括代码都可能会导致性能问题。不过现在硬件的更新速度非常快,iphone4s 的 cpu 是 a5,而 iphone6 已经是 a8了,按苹果的说法,速度共提升了7.5倍;移动端浏览器大部分是现代浏览器,对 html5 和 css3的支持都很好。
----
### 绘图功能
svg 和 canvas 都能使你在浏览器中画图,但是基本原理不一样。
#### svg(scalable vector graphics)
svg 即是 `scalable vector graphics`,是一种用来绘制矢量图的 html5标签。
svg 基于 xml(extensible markup language,可拓展标记语言,类似于 html),这意味着 svg dom 中的每个元素都是可用的。您可以为某个元素附加 javascript 事件处理器。
在 svg 中,每个被绘制的图形均被视为对象。如果 svg 对象的属性发生变化,那么浏览器能够自动重现图形。
#### canvas
canvas,顾名思义,是画布,通过 javascript 来绘制 2d 图形。
canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
#### webgl(web-based graphics language)
webgl 是一个跨平台、免费的底层 3d 绘图 api 的 web 标准,是一套用于渲染 2d 和 3d 图形的标准图形库。作为一项强大的图形技术,webgl 可以很好的呈现 3d 效果。ios8 宣布支持 webgl 后,百度全景在移动 web 端支持 webgl 图形技术了,可以更逼真的模拟街道环境。
#### canvas 与 svg 的主要不同点
canvas | svg
------------ | -------------
依赖于分辨率 | 不依赖于分辨率(矢量)
不支持事件处理器 | 支持事件处理器
弱的文本渲染能力 | 最适合带有大型渲染区域的应用程序(比如说 google 地图)
能够以.png 或 .jpg 格式保存结果图像 | 复杂度高会减慢渲染速度(任何过度使用 dom 的应用都不快)
最适合图像密集型的游戏,其中的许多对象会被频繁绘制 | 不适合游戏应用
---
### 动画的运用
一般来说,也就是两种。一种是 css3 动画,一种是 javascript 动画。但是很多情况下,javascript 也会用于改变 css 属性来实现动画。
如果是复杂交互的动画,还是用 javascript 比较好。
具体如何处理,那又是比较大的话题了,在这就不细说。
---
### 最后说几句
当年 facebook 放弃 html5 转投原生开发的,而今微信却在中国让 html5 大红大紫,不得不说时势弄人。
当年 facebook 采用的是混合式开发,类似于今天我们说的里面是前端代码,然后套了个 phonegap 的壳子,打包变成 ios 应用了。混合式开发一般会占比,但是 facebook 的 html 的部分占比过大,而且 当年 ios app 里调用的 webview 的引擎和浏览器 safari 里用的不一样,对技术支持的也不好。
在今天,ios8 的 webkit 库,使用 wkwebview 来代替以前的 uiwebview,并且使用 nitro javascript 引擎,这意味着所有第三方浏览器运行 javascript 可以跟 safari 一样快。一个视频搞定你
http://www.boolgeek.com/video/10198 第五代超文本标记语言 建议看看http://w3.org上面和标准相关的东西 来,向这边看齐:
如果让我举例的话,我会这样比喻:过去的html就像你我身上穿着的衣服,而html5则是米兰、巴黎时尚t台上模特们的新装。新鲜悦目、其中一些内容能够在不久将来进入我们的生活,但不是现在,也有人说,就是现在。
来自网友链接html5到底是什么推进得挺缓慢的新标准...都出了多少年啦,还是没有统治世界...