你说的H5到底是什么,跟Html有什么关系,能吃吗

总跟我说H5、H5的,我特么根本不知道你在说什么好吗…如果你身边有人整天说着 h5,就可以问问他,究竟什么是 h5,然后甩给他以下答案

HTML5

我们摘抄W3school中的段落

什么是HTML5
HTML5是下一代的 HTML,HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准

HTML5 是如何起步的
HTML5 是 W3C 与 WHATWG 合作的结果

WHATWG 致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML

为 HTML5 建立的一些规则:

  • 新特性应该基于 HTML、CSS、DOM 以及 JavaScript。
  • 减少对外部插件的需求(比如 Flash)
  • 更优秀的错误处理
  • 更多取代脚本的标记
  • HTML5 应该独立于设备
  • 开发进程应对公众透明

HTML5 中的一些有趣的新特性

  • 用于绘画的 canvas 元素
  • 用于媒介回放的 video 和 audio 元素
  • 对本地离线存储的更好的支持
  • 新的特殊内容元素,比如 article、footer、header、nav、section
  • 新的表单控件,比如 calendar、date、time、email、url、search

HTML5是HTML的第五个版本,上一个版本是HTML4,于1997年发布

所以,HTML5本质上不是什么新的技术,但是由于其在功能特性上有了极大的丰富,在加上各大浏览器性能上的支持,HTML5相对以前的HTML4有着更广泛的应用

H5

HyperText Mark-up Language 5.0 → HTML5 → H5

HTML5是英文规范简称,但H5就完全是国内特定人群的叫法。目前的事实是,H5已经成为微信HTML5网页的专有名词。与 JavaScript 被简称为「JS」不同,JS 是一个指代清晰的简称,没有歧义,就指 JavaScript 这种程序语言。但 h5 却不是,至少 HTML 中还有个 h5 标签

先科普一下,HTML5并不是一项技术,而是一个标准

不知道从何时起,HTML5 这个 Web 技术中的一个标准,被包装成「无所不能的 h5」。当你指着一个朋友圈中有点特效、有点背景音乐的营销 Web 页面就说成 h5 页面时,一个专业的前端工程师感受到的就是类似的不专业,而非专业的人听到以后呢?就这样被误导了,他也以为这是所谓的 h5 技术。比如:

有学弟来问我说,学长我想学H5,应该从哪里开始?

我说HTML5新增特性在W3C上都可以查得到的

学弟说,不,我想学的是H5,想做H5的页面

于是我猜测他所指的就是上面论述的这种酷炫小页面,我就说,那你要先学习HTML,包括HTML5的新标准和之前的全部标准,然后学CSS以及CSS3,了解它们在浏览器的实现情况,原生JS了解一点就可以,大多的操作可以用Jquery,了解常用的几个Jquery插件的用法,应该就差不多了。如果想要做更酷炫的的,学一下egret或者cocos2d更好。如果要优化加载速度,还要学一下grunt一类的自动化工具。微信的sdk有很多坑,至少nodejs或者php一类的后端语言要会一点

学弟说,那这不就是前端了么?我只是想学H5啊

所以你看,当我们对一个概念的内涵无法统一的时候,我们根本不知道彼此之间在谈论的是什么

”H5“本应是一个技术合集,却被意会成了一项技术

这就是为什么我反对H5,因为这个名词和它表示的内涵是严重不符的,这让我们难以沟通,让营销人和技术人之间产生误解,让浑水摸鱼的培训师们赚的盆满钵满,让技术新人不踏踏实实的学习技术

当有人问,“你是不是会做H5开发?”的时候,我知道他们要的是那种可以在朋友圈分享的,看起来很酷炫的小页面,他们实际要的东西拆开来看大概包括以下技术点:

  1. 页面素材预加载技术,可以使用createJS之中的preloadJS。我没有看preloadJS的源码,不过预加载并不是HTML5标准中更新的方法
  2. 音乐加载播放技术,createJS中同样有soundJS可以实现,而且这部分说起来确实是HTML5标准支持的内容,在上个时代并没有audio这样的标签
  3. 可以滑动的页面,大多数是用了swiper.js这个Jquery插件,也有一些是手写的swipe,比较拙劣的手写版页面是不会跟手滑动的,其中touchstart等四个touch系列的事件是HTML5标准中的事件
  4. 可以涂抹擦除,多半是canvas叠加层,canvas是HTML5标准里面的标签,是代表了先进生产力的标签
  5. 有动态的文字和图片,常见的是使用了css3或者直接使用js动画。很多时候提到HTML5多半还会带上CSS3,而CSS的分级又是另外的一个问题了,在不同的项目标准上,CSS会独立定级,以后应该不会有CSS4这个东西,所以大家也不用担心在H5以后又冒出来了C4(不过真是想用C4炸死那些每天把H5挂在嘴上的人)
  6. 可以填表报名,这是最基本的表单,是有网页以来就有的东西
  7. 可以支持分享自定义的文案和图片,这个是用到了微信的jssdk,和HTML标准半毛钱关系都没有

所以我们在谈论H5的时候,实际上是一个解决方案,一个看起来酷炫的移动端onepage网站的解决方案。而这个解决方案不仅包含了HTML5新增的audio标签,canvas,拖拽特性,本地存储,websocket通信,同时也包括了盒模型,包括绝对定位,包括一切前端的基本知识

实际上我们在说到H5的时候,并不是指标准,也不是指标准的应用,而是一个硬生生造出来的奇怪概念合集,所以希望专业人士能够尽量杜绝「h5」这个简称。看到一个移动端的 Web 产品或者 Web App,当你不了解其中的技术实现,比如不清楚是用 Canvas、SVG 还是 CSS3 等实现,或者其他技术细节时,称之为「移动端 Web App」或者更精确的称谓 ,而不是那个模糊的、不准确的、具有误导性的「h5 页面」

以上内容摘自
知乎大佬王德福知乎大佬Whales

发布了640 篇原创文章 · 获赞 143 · 访问量 54万+

猜你喜欢

转载自blog.csdn.net/u010356768/article/details/103385834
今日推荐