写点什么

关于 HTML5 的 5 个误解

  • 2012-12-20
  • 本文字数:1436 字

    阅读完需:约 5 分钟

12 月 17 日 W3C 的 CEO Jeff Jaffe 宣布 HTML5 定义完成,即进入了 Candidate Recommendation 阶段,这距离它成为 W3C 的正式推荐标准(Recommendation 阶段)已经很近。然而技术社区对于 HTML5 仍存在很多误解以至于错误理解这一事件的意义。本文试谈几点常见的误解帮助大家了解 HTML5。

  • HTML5 标准是超炫的技术

HTML5 标准本身是标记语言和语义的规范,所以它不会包括诸如 API 和样式这样的内容,标记语言和语义这种东西甚至是不可见的,当然更不可能“炫”了。通常社区中提到 HTML5 所指的是与 HTML5 差不多同时开始制定的一组新的标准,他们包括一些 CSS3, Canvas 2d API, WebGL 等 API 和新特性标准,WebGL 甚至并非 W3C 标准。 这一次宣布完成的 HTML5 是 HTML5 标准本身,这仅仅意味着 HTML5 的新语法、新标签和语义已经有了稳定的定义,不会有大变更。而真正与开发密切相关的一些 API 标准并不在此列。

  • HTML5 是一项新技术

HTML5 所用的技术差不多在 20 年前就已经成熟,而 HTML5 本身也并非技术,而是标准。即使作为标准 HTML5 也并非新标准,而是一个工作了 10 年的标准 HTML4.01 的新版本,它是基本向下兼容的。 作为一份标准,HTML5 的发布意味着这项技术已经完全成熟并且各大浏览器厂商和其它 W3C 会员达成了一致意见。尽管各方完全实现标准尚需时日,但是鉴于 W3C 几乎已经聚集了所有这份标准的相关方,所以几乎不会再出现另外的声音了。

  • HTML5 现在还不可用

对于 HTML5,既不应该说“可用”又不能说“不可用”。谈论 HTML5 是否可用是不恰当的,因为如上文所说通常意义所指的 HTML5 包含若干互相独立的技术标准,它们的可用性是相互独立的。 诸如 WebGL,WebSocket 这样的标准现在不论在移动还是桌面 Web 环境都几乎完全不可用。而语义化标签和 HTML5 标记语言语法(既 HTML 标准本身所规定的内容)现在则是可用到不能再可用的状态。 在这种状态下,更务实地去讨论具体的特性是否可用才是合理和正确的做法,在这方面 http://caniuse.com/ 做了非常多深入而细致的研究。

  • HTML5 现在已经制定完成了

因为一些历史原因,现有的 HTML5 的制订大部分是在 WHATWG 完成。而 HTML5 回到 W3C 之后,WHATWG 将会继续维护一份 HTML 规范文档,这份文档将不会设定完成日期。这意味着仍然可能有大块的特性加入其中,且它永远不会像 W3C 规范一样变得稳定。 按照现有的模式,W3C 将会逐步发布 WHATWG 版本的 snapshot 作为 HTML 新规范,在 W3C 的 CEO 宣布 HTML5“完成”之时,HTML5.1 版本已经开始制订了。

  • HTML5 的性能很差

性能问题可能来自多方面,硬件、操作系统、应用代码都可能导致性能问题,然而性能问题唯独与标准关系不大。HTML5 是一个标准,它本身不涉及任何性能。 有这样的断言应当是因为现在主流的浏览器实现都在移动端表现不佳,这与浏览器环境本身的复杂性的确密切相关,更涉及到不少 W3C 和 WHATWG 之外的标准(如 JS、WebGL)。 应当明确的是,“HTML5 程序性能表现不佳”仅仅是其相对于各个平台的原生应用来讲的,并不是 HTML4.01 性能更好了。比起 HTML 统治了桌面互联网大半江山的前几个版本,HTML5 不论性能还是功能都是全面增强的。HTML 更早版本的产品更新到 HTML5 将会是无需置疑和理所当然的。 HTML 在移动领域面临的新的应用场景(Web Application)和面临的问题(性能和功能)则正是 HTML5 出现的原因,也是 HTML5 标准和它的实现者需要解决的问题。

作者简介

程劭非 /winter,一淘网移动前端技术专家,技术 Blog 是 http://winter-cn.cnblogs.com ,微博: @寒冬 winter

2012-12-20 07:154530

评论

发布
暂无评论
发现更多内容

使用 TensorFlow 和 Express.js 实现AI图像识别

devpoint

tensorflow Express 6月月更

初识SDN网络

穿过生命散发芬芳

SDN网络 6月月更

秒懂网络拓扑中的下一跳地址

wljslmz

网络协议 网络工程师 网络技术 6月月更

Web Service进阶(三)HTTP-GET, HTTP-POST and SOAP的比较

No Silver Bullet

soap 6月月更 Web Service HTTP-GET HTTP-POST

以购物清单为例讲述 Redux 的状态如何在 Flutter 多个组件间共享

岛上码农

flutter 安卓开发 ios 开发 跨平台应用 6月月更

700行无用 纯 CSS 祝考生 金榜高粽《1_bit 的无用 CSS 代码 》

1_bit

CSS html 前端

【腾讯云代码分析】五月上新+新功能前瞻

腾源会

外包学生管理系统

极客土豆

Leecode上的代码到Pycharm运行解决方法

武师叔

Python pycharm Leet Code 6月月更

抖音大举进军电商领域:这步棋应该如何下

石头IT视角

LabVIEW控制Arduino采集多路模拟量、数字量(进阶篇—1)

不脱发的程序猿

单片机 LabVIEW VISA Arduino Uno 采集多路模拟量、数字量

java构造器(构造方法、构造函数)

写代码两年半

面试 javase 构造函数 6月月更

模块3作业(外包学生管理系统架构文档)

Geek_701557

【Spring 学习笔记(四)】Spring Bean 集合注入和自动装配

倔强的牛角

spring Java EE 6月月更

等你加入|建木开源社区团队成员招募

Jianmu

开源社区 自动化运维 社区运营 志愿者招募

Jetpack Composes 之TextField详解

坚果

6月月更

SDN系统方法 | 4. 裸金属交换机

俞凡

架构 网络 sdn SDN系统方法

Java中的13个原子操作类

急需上岸的小谢

6月月更

读书笔记 之《软件架构设计: 大型网站技术架构与业务架构融合之道》

蔡农曰

读书笔记 架构 后端 后端开发 后端开发书籍

《WebRTC源码深入剖析》总结

音视频专家-李超

源码分析 音视频 WebRTC 源码剖析

Flink 通过 State Processor API 实现状态的读取和写入

JasonLee实时计算

flink

Python环境搭建

芯动大师

Python编程 6月月更 Python环境

区块链mass哈希競猜dapp游戏开发源代码(多游戏)

开发微hkkf5566

学生管理系统架构文档

爱晒太阳的大白

Node详细讲解

恒山其若陋兮

6月月更

支付系统安全设计思维导图

靠谱的程序员

支付安全

Linux驱动开发_数码相册项目、360WIFI驱动移植介绍

DS小龙哥

6月月更

【盲盒APP】开发功能版块及功能介绍

WDL22119

Flink on yarn 远程调试源码

JasonLee实时计算

flink

数据库每日一题---第3天:大的国家

知心宝贝

数据库 算法 前端 后端 6月月更

Sentinel与OpenFeign 服务熔断那些事

牧小农

sentinel openfeign

关于HTML5的5个误解_HTML5_程劭非_InfoQ精选文章