热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

关于HTML5的5个误解

12月17日W3C的CEOJeffJaffe宣布HTML5定义完成,即进入了CandidateRecommendation阶段,这距离它成为W3C的正式推荐标准(Recommendation阶段)已经

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 标准和它的实现者需要解决的问题。


推荐阅读
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • 在第六章中,我们将深入探讨MySQL中的多表查询技术,包括联结查询和子查询。联结查询通过将两个或多个表进行连接,基于连接条件生成结果集。常见的联结类型有内联结、外联结和全外联结。交叉联结(CROSS JOIN)虽然使用较少,但其原理是生成所有可能的组合,类似于笛卡尔积的概念。此外,子查询则是在一个查询语句中嵌套另一个查询,用于获取更复杂的数据集。本章将通过实例详细讲解这些查询方法的应用和优化技巧。 ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 在 HihoCoder 1505 中,题目要求从给定的 n 个数中选取两对数,使这两对数的和相等。如果直接对所有可能的组合进行遍历,时间复杂度将达到 O(n^4),因此需要考虑优化选择过程。通过使用哈希表或其他高效的数据结构,可以显著降低时间复杂度,从而提高算法的效率。具体实现中,可以通过预处理和存储中间结果来减少重复计算,进一步提升性能。 ... [详细]
  • 在探讨如何高效处理大规模数据报表的分页展示之前,首先需要明确导致报表加载缓慢的主要原因。通常情况下,这主要是由于两个方面:一是查询条件过于宽泛,使得数据库返回的结果集包含数百万甚至更多的记录;二是前端渲染性能不足,无法高效处理大量数据。为了优化这一过程,可以从以下几个方面入手:优化查询条件,减少不必要的数据返回;采用分页查询技术,每次仅加载所需的数据;利用缓存机制,减少对数据库的频繁访问;提升前端渲染效率,使用虚拟滚动等技术提高用户体验。 ... [详细]
  • 在CSS中处理单行文本长度限制的问题时,可以通过设置文本颜色、定义块级元素等方法来实现。具体而言,通过使用 `color: #000;` 来控制文字颜色,并将元素定义为块级元素(`display: block;`),可以有效管理文本的显示效果。此外,还可以结合其他CSS属性,如 `overflow: hidden;` 和 `text-overflow: ellipsis;`,以确保超出部分的文字被优雅地隐藏或截断,从而提升用户体验。 ... [详细]
  • 本文深入探讨了原型模式在软件设计中的应用与实现。原型模式通过使用已有的实例作为原型来创建新对象,而不是直接通过类实例化。这种方式不仅简化了对象的创建过程,还提高了系统的灵活性和效率。具体来说,原型模式涉及一个支持克隆功能的接口或基类,子类通过实现该接口来提供具体的克隆方法,从而实现对象的快速复制。此外,文章还详细分析了原型模式的优缺点及其在实际项目中的应用场景,为开发者提供了实用的指导和建议。 ... [详细]
  • 本文深入解析了 Apache 配置文件 `httpd.conf` 和 `.htaccess` 的优化方法,探讨了如何通过合理配置提升服务器性能和安全性。文章详细介绍了这两个文件的关键参数及其作用,并提供了实际应用中的最佳实践,帮助读者更好地理解和运用 Apache 配置。 ... [详细]
  • 题目描述非常吸引人。每颗星星可以通过其在窗口的左下角和右上角位置构建两条扫描线,从而将问题转化为区间增减和求最大值的操作。需要注意的是,位于边界的星星不应计入结果,因此在处理时应分别对左右边界进行适当的增减调整。此外,利用线段树和离散化技术可以显著提高算法效率,确保在大规模数据下的性能表现。 ... [详细]
  • Vuex 实战进阶:构建高效笔记本应用(第二篇)
    在上一篇文章中,我们初步探讨了 Vuex 在该项目中的应用。本文将深入解析整个项目的架构设计。首先回顾 `main.js` 的内容,然后重点分析 `App.vue` 文件,其中引入了 `Toolbar.vue` 和 `NodeList.vue` 组件,详细说明它们在应用中的作用和交互方式。通过这些组件的协同工作,我们将展示如何构建一个高效且响应迅速的笔记本应用。 ... [详细]
  • 如何运用蒙特卡洛方法计算NPV:计算机专业毕业设计遇到难题怎么办?
    许多计算机科学专业的学生在大学期间都会遇到这样的困扰:课堂上教授的内容往往偏向理论,实际应用的知识点讲解得较为浅显和概括,导致在进行毕业设计时,如运用蒙特卡洛方法计算净现值(NPV)等复杂问题时感到无从下手。本文旨在探讨如何通过深入理解和实践蒙特卡洛模拟技术,解决这类计算难题,为学生的毕业设计提供实用指导。 ... [详细]
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
  • 新年伊始,正是学习的最佳时机。本文全面解析了CK1957-Zookeeper的核心概念与实践技巧,旨在帮助初学者快速掌握这一深度学习工具。通过详细的理论讲解和实际操作示例,读者可以更好地理解Zookeeper的工作原理及其在分布式系统中的应用。无论是新手还是有一定基础的学习者,都能从中受益匪浅。 ... [详细]
  • 探究Oracle数据库字符集编码的详细方法与实践
    本文深入探讨了Oracle数据库字符集编码的详细方法与实践。首先,通过执行 `SELECT USERENV('language') FROM DUAL;` 查询服务端字符集编码。其次,通过在注册表中搜索 `NLS_LANG` 参数来查看客户端字符集编码。此外,文章还介绍了如何在不同场景下正确配置和转换字符集,以确保数据的一致性和完整性。 ... [详细]
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社区 版权所有