H5 到底是什么?
前一段时间协助分公司给客户做一个网站,美工跟我说客户全站都想要H5并且要自适应的(MMP!!!自适应又是一个梗,以后再说)
我回答她说:我不是很明白你是什么意思
接下来她的回答雷得我里焦外嫩:就稍微给这个大雁加点效果啊比如说让他飞进来扇扇翅膀什么的。。。
此时此刻我的大脑已经停止了思考,觉得时间仿佛静止了一样(我有句妈卖批不知当讲不当讲)。
这就是为什么我特别反感别人跟我说H5,虽说我大概知道你是什么意思。
下面是科普时间,在这里引用别人的几句话。
HTML5简称H5
HTML5并不是一项技术,而是一种标准。
标准的意思就是:学生准则手册。你可以按照准则做,甚至可以超出准则更加严格的要求自己,但是你也可以不按照准则来,但是会被老师请家长会被小伙伴们讨厌,就像IE6,7,8一样。
更有人说 H5就是第五代HTML。。。(HTML1.0<先这么叫着,跟初代奥特曼一样没有名字>,HTML 2.0,HTML 3.2,HTML 4.0,HTML 4.01以及XHTML等9人觉得你说的很赞)
那HTML5这些标准浏览器厂商到底姿持不姿持呢?这要看他们各自的尿性了。像chrome,firefox这种不仅在很多标准上支持的非常好,还非常积极上进很多地方超出了标准,支持一些标准中还是草案的一部分,这就是为什么我们会经常看到样式表中的-webkit-, -moz-等前缀。
所以要么我们是作为理论派讨论HTML5标准,要么是作为实践派讨论HTML5标准在某浏览器的实现。但是实际上我们在说到H5的时候,既不是指标准,也不是指标准的应用,而是一个被人扭曲出来的奇怪概念的合集,所以我是高举双手反对这个称呼的。
最近一年多的时间,我工作的内容基本上都是跟“H5”息息相关的,所以当有人问我H5的时候我也能明白他是什么意思,也大概知道他想要的是什么,无非就是那种看起来很炫酷的页面,包括但不限于以下这几种:
1、网页滚动到某个位置对应的元素可以动的
2、一滚一整屏的
3、文字和图片在鼠标经过的时候是动态的
4、背景图带视差效果的
5*、重点!我要敲黑板了--------翅膀会动的
其实这些都是js或者jquery或者是由css3来制作的,很多时候提起H5也会带上css3
PS:css3真的是一个有跨时代意义的版本。
所以我们在谈论H5的时候,实际上是一种方案,一个看起来酷炫的网站的解决方案。而这个解决方案不仅包含了HTML5新增的audio,video标签或者是更高级的webGL,同时也包括了盒模型,包括选择器,包括相对和绝对定位,包括一切前端的基本知识。
之前有一个做UI的朋友来问我说,我想学H5,你有没有推介的办法?
我说:HTML5的话...w3school上的看一遍基本就OK了。
她说:不,我想学H5,想学怎么做H5页面。
于是我猜测她所指的就是刚才提到的这种酷炫的页面,我就说,那你要先学习HTML,然后学CSS和CSS3,原生JS了不了解都行,大多的操作可以用Jquery或者基于Jquery的插件就应该就差不多了。如果想更深入的了解,特别是大项目需要考虑mvc或者mvvm前后端分离的话前端三大框架angular.js、vue.js、react.js至少得会一种,可能还要学一下webpack和npm这种工具。还有nodejs或者php一类的后端语言要稍微会一点。
她说,那这不就是前端了么?我只是想学H5啊。
这就是为什么我反对H5,就像反对有人把前端叫做切版或者切片一样。因为这个名词和它表示的内容严重不符,这让我们难以沟通,让销售人员和技术人员之间产生误解,甚至于被同行业竞争对手嘲笑。当我们对一个概念的内涵无法统一的时候,我们根本不知道彼此之间在谈论的是什么。其实对于销售人员来说,我们只要能够说的清楚这种H5能不能做就够了。但是对于技术人员,我只想说:你对前端一无所知。
每当有人问我:你会不会做H5呀?
此时此刻我想说:能!!!不扇翅膀的都能。