H5和HTML5的區別

注意注意:H5不=HTML5

H5 是一個產品名詞

HTML5是一個技術名詞

對於知乎多個相關問題裏批判H5的叫法,我只想說:圖樣圖森破,上臺拿衣服

打個比方,如果有個人跟你說:“我要做個網站,H5的”。

那TA是想讓你用header、footer、nav、section等標籤?

讓你用Geolocation、localStorage、WebWorker等API?

都不是,TA們想要的功能你用HTML4就都能做出來了。

更別說還得兼容老IE瀏覽器呢。

所以年輕人,你們要用心理解客戶的需求,不要沉迷於技術。

人家一定不是讓你去用一種不被所有瀏覽器兼容的技術。

所以,H5指的不是HTML5,而是某種在微信等移動端看上去酷炫能夠提升公司格調順便亮瞎訪問者氪金狗眼頓升膜拜之心就算沒有內容也能被廣泛轉發分享的一種東西。

再次科普,HTML5並不是一項技術,而是一個標準。

標準的意思就是:學生準則手冊。你可以按照準則做,甚至可以超出準則更加嚴格的要求自己,也可以不按照準則來,但是會被老師訓斥小夥伴討厭,別人都不找你玩,就像IE6一樣。

那HTML5這些標準瀏覽器廠商到底姿持不姿持呢?這要看他們各自的尿性了。像chrome這種不僅在很多標準上支持的非常好,還積極上進很多地方超出了標準,支持一些標準中還是草案的部分。所以其實要麼我們是作爲理論派討論HTML5標準,要麼是作爲實踐派討論HTML5標準在某瀏覽器的應用。但是實際上我們在說到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標準半毛錢關係都沒有。

8.還有其他我想起來再補充的。

所以我們在談論H5的時候,實際上是一個解決方案,一個看起來酷炫的移動端onepage網站的解決方案。而這個解決方案不僅包含了HTML5新增的audio標籤,canvas,拖拽特性,本地存儲,websocket通信,同時也包括了盒模型,包括絕對定位,包括一切前端的基本知識。

有學弟來問我說,學長我想學H5,應該從哪裏開始?

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

學弟說,不,我想學的是H5,想做H5的頁面。

於是我猜測他所指的就是上面論述的這種酷炫小頁面,我就說,那你要先學習HTML,包括HTML5的新標準和之前的全部標準,然後學CSS以及CSS3,瞭解它們在瀏覽器的實現情況,原生JS瞭解一點就可以,大多的操作可以用Jquery,瞭解常用的幾個Jquery插件的用法,應該就差不多了。如果想要做更酷炫的的,學一下egret或者cocos2d更好。如果要優化加載速度,還要學一下grunt一類的自動化工具。微信的sdk有很多坑,至少nodejs或者php一類的後端語言要會一點。

學弟說,那這不就是前端了麼?我只是想學H5啊。

所以你看,當我們對一個概念的內涵無法統一的時候,我們根本不知道彼此之間在談論的是什麼。”H5“本應是一個技術合集,卻被意會成了一項技術,變成可以在質上而不是量上描述的概念。對於營銷來說,我們只要講我們可以做H5或者不能做,這種定性的描述就夠了。但是對於技術上,這是定量的事情,只能在具體某個技術項上是否,無法對這個本不存在的概念說是否。就比如我遇到過有甲方說,我們之前找了一個人做H5,做的還不錯,但是這個case他又說做不了,我也搞不懂H5和H5之間也有那麼大差別嗎?我只能笑笑和他說,世界這麼大,各種各樣的H5都是有的。

這就是爲什麼我反對H5,因爲這個名詞和它表示的內涵是嚴重不符的,這讓我們難以溝通,讓營銷人和技術人之間產生誤解,讓渾水摸魚的培訓師們賺的盆滿鉢滿,讓技術新人不踏踏實實的學習技術。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章