如下內容來源於知乎。php
先科普一下,HTML5並非一項技術,而是一個標準。
標準的意思就是:學生準則手冊。你能夠按照準則作,甚至能夠超出準則更加嚴格的要求本身,也能夠不按照準則來,可是會被老師訓斥小夥伴討厭,別人都不找你玩,就像IE6同樣。css
那HTML5這些標準瀏覽器廠商到底姿持不姿持呢?這要看他們各自的尿性了。像chrome這種不只在不少標準上支持的很是好,還積極上進不少地方超出了標準,支持一些標準中仍是草案的部分。前端
因此其實要麼咱們是做爲理論派討論HTML5標準,要麼是做爲實踐派討論HTML5標準在某瀏覽器的應用。可是實際上咱們在說到H5的時候,並非指標準,也不是指標準的應用,而是一個硬生生造出來的奇怪概念合集,因此我是旗幟鮮明的反對這個稱呼的。node
最近一年的時間,我主要靠這個東西養家(並無家)餬口。因此我是懂得甲方打電話過來詢問,「你是否是會作H5開發?」的時候,我知道他們要的是那種能夠在朋友圈分享的,看起來很酷炫的小頁面,他們實際要的東西拆開來看大概包括如下技術點;css3
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標準半毛錢關係都沒有。
8.還有其餘我想起來再補充的。web
因此咱們在談論H5的時候,其實是一個解決方案,一個看起來酷炫的移動端onepage網站的解決方案。而這個解決方案不只包含了HTML5新增的audio標籤,canvas,拖拽特性,本地存儲,websocket通訊,同時也包括了盒模型,包括絕對定位,包括一切前端的基本知識。chrome
有學弟來問我說,學長我想學H5,應該從哪裏開始?
我說HTML5新增特性在W3C上均可以查獲得的。
學弟說,不,我想學的是H5,想作H5的頁面。
因而我猜想他所指的就是上面論述的這種酷炫小頁面,我就說,那你要先學習HTML,包括HTML5的新標準和以前的所有標準,而後學CSS以及CSS3,瞭解它們在瀏覽器的實現狀況,原生JS瞭解一點就能夠,大多的操做能夠用Jquery,瞭解經常使用的幾個Jquery插件的用法,應該就差很少了。若是想要作更酷炫的的,學一下egret或者cocos2d更好。若是要優化加載速度,還要學一下grunt一類的自動化工具。微信的sdk有不少坑,至少nodejs或者php一類的後端語言要會一點。canvas
學弟說,那這不就是前端了麼?我只是想學H5啊。後端
因此你看,當咱們對一個概念的內涵沒法統一的時候,咱們根本不知道彼此之間在談論的是什麼。瀏覽器
」H5「本應是一個技術合集,卻被意會成了一項技術,變成能夠在質上而不是量上描述的概念。
對於營銷來講,咱們只要講咱們能夠作H5或者不能作,這種定性的描述就夠了。可是對於技術上,這是定量的事情,只能在具體某個技術項上是否,沒法對這個本不存在的概念說是否。
就好比我遇到過有甲方說,咱們以前找了一我的作H5,作的還不錯,可是這個case他又說作不了,我也搞不懂H5和H5之間也有那麼大差異嗎?我只能笑笑和他說,世界這麼大,各類各樣的H5都是有的。
這就是爲何我反對H5,由於這個名詞和它表示的內涵是嚴重不符的,這讓咱們難以溝通,讓營銷人和技術人之間產生誤解,讓渾水摸魚的培訓師們賺的盆滿鉢滿,讓技術新人不踏踏實實的學習技術。
每當有人問我,」你是否是作H5的?「
個人心裏都很想咆哮一句,」你纔是作H5的,你全家都是作H5的「
H5是一種用在微信上的PPT。
注意注意: H5 != HTML5
H5 是一個產品名詞HTML5 是一個技術名詞
對於知乎多個相關問題裏批判H5的叫法,我只想說:
圖樣圖森破,上臺拿衣服
打個比方,若是有我的跟你說:「我要作個網站,H5的」。
那TA是想讓你用header、footer、nav、section等標籤?
讓你用Geolocation、localStorage、Web Worker等API?
都不是,TA們想要的功能你用HTML4就都能作出來了。
更別說還得兼容老IE瀏覽器呢。
因此年輕人,大家要用心理解客戶的需求,不要沉迷於技術。
人家必定不是讓你去用一種不被全部瀏覽器兼容的技術。
因此,H5指的不是HTML5,而是某種在微信等移動端看上去酷炫可以提高公司格調順便亮瞎訪問者氪金狗眼頓升膜拜之心就算沒有內容也能被普遍轉發分享的一種東西。