热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTML5到底是什么?-

回复内容: HTML5 是对 HTML 标准的第五次修订,目前仍未完工。其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入。HTML5 的语法是向后兼容的。

回复内容:

HTML5 是对 HTML 标准的第五次修订,目前仍未完工。其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入。HTML5 的语法是向后兼容的。

但论及 HTML5 时,大部分开发者所指的并不仅仅是这个新标准,而是(如 Jeremy Keith 说)
doing anything cool (on the web)
做这些“酷”的东西需要用到的技术和标准,除了 HTML5 标准外,还包括 CSS3 的一些新属性,以及一些新的 API。
WHATWG 在今年一月份宣布(至少对于 WHATWG 来说),HTML5 将是 HTML 的最后一个版本号,HTML 从此成为了一个不断在更新和变化的活标准。

大家提到的都是非常好的资料,我这里再补充一些:
来自 W3C 的 HTML5 草案
w3.org/TR/html5/
来自 WHATWG 的文档
whatwg.org/specs/web-ap
Dive Into HTML5 - 许多泛 HTML5 技术的入门讲解
peintohtml5.org/
HTML is the new HTML5
blog.whatwg.org/html-is

背景介绍:
W3C 全称是万维网协会(World Wide Web Consortium),是制定互联网标准的官方组织。
en.wikipedia.org/wiki/W
WHATWG 是一个非官方的,由包括来自 Mozilla、Google、Opera 等公司的员工组成的开源社区,是任何人都可以参与的。它对 HTML(前 HTML5 标准)、Web Workers API 等标准的制定和更新做出过很大贡献。
en.wikipedia.org/wiki/W

---- 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 一样快。 一个视频搞定你
boolgeek.com/video/1019 第五代超文本标记语言 建议看看w3.org上面和标准相关的东西 来,向这边看齐:
如果让我举例的话,我会这样比喻:过去的HTML就像你我身上穿着的衣服,而HTML5则是米兰、巴黎时尚T台上模特们的新装。新鲜悦目、其中一些内容能够在不久将来进入我们的生活,但不是现在,也有人说,就是现在。
来自网友链接HTML5到底是什么 推进得挺缓慢的新标准...都出了多少年啦,还是没有统治世界...
推荐阅读
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 探索Web 2.0新概念:Widget
    尽管你可能尚未注意到Widget,但正如几年前对RSS的陌生一样,这一概念正逐渐走入大众视野。据美国某权威杂志预测,2007年将是Widget年。本文将详细介绍Widget的定义、功能及其未来发展趋势。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • MySQL:不仅仅是数据库那么简单
    MySQL不仅是一款高效、可靠的数据库管理系统,它还具备丰富的功能和扩展性,支持多种存储引擎,适用于各种应用场景。从简单的网站开发到复杂的企业级应用,MySQL都能提供强大的数据管理和优化能力,满足不同用户的需求。其开源特性也促进了社区的活跃发展,为技术进步提供了持续动力。 ... [详细]
  • PyQt5 QTextEdit:深入解析Python中多功能GUI库的应用与实现
    本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ... [详细]
  • REST API 时代落幕,GraphQL 持续引领未来
    尽管REST API已广泛使用多年,但在深入了解GraphQL及其解决的核心问题后,我深感其将引领未来的API设计趋势。GraphQL不仅提高了数据查询的效率,还增强了灵活性和性能,有望成为API开发的新标准。 ... [详细]
  • 在处理大文件上传时,服务端为何无法直接接收?这主要与 PHP 配置文件 `php.ini` 中的几个关键参数有关,如 `upload_max_filesize` 和 `post_max_size`。这些参数分别限制了单个文件的最大上传大小和整个 POST 请求的数据量。为了实现大文件的高效上传,可以通过文件分割与分片上传的方法来解决。本文将详细介绍这一实现方法,并提供相应的代码示例,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 想爬取微博的评论,看了很多代码都是要用到这个链接,可是为什么找不到show?id这条,而是https://m.weibo.cn/comments/hotflow?id=这条呢,有没有大佬帮忙解疑 ... [详细]
  • SocialFi 的未来:数据所有权、更公平的价值分配和行为数据的价值化
    SocialFi本质上是对Web2中心化社交平台的一次价值解构。撰文:Morty ... [详细]
  • 教育类应用程序:提升学习效率的专业工具
    2019年,多家独角兽企业高薪聘请Python工程师,这引发了对高效学习工具的关注。以Duolingo为例,其“边玩边学”的模式为语言学习提供了新思路。类似地,错题本作为一种有效的学习方法,能够帮助学生记录和复习易错题目,从而提高学习效率。教育类应用程序通过整合这些先进的学习策略和技术手段,正逐渐成为提升学生学习效果的重要工具。 ... [详细]
author-avatar
我爱超人宝宝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有