先科普一下棒仍,HTML5并不是一項(xiàng)技術(shù)悲靴,而是一個(gè)標(biāo)準(zhǔn)。標(biāo)準(zhǔn)的意思就是:學(xué)生準(zhǔn)則手冊(cè)莫其。你可以按照準(zhǔn)則做癞尚,甚至可以超出準(zhǔn)則更加嚴(yán)格的要求自己,也可以不按照準(zhǔn)則來乱陡,但是會(huì)被老師訓(xùn)斥小伙伴討厭浇揩,別人都不找你玩,就像IE6一樣蛋褥。那HTML5這些標(biāo)準(zhǔn)瀏覽器廠商到底姿持不姿持呢临燃?這要看他們各自的尿性了睛驳。像chrome這種不僅在很多標(biāo)準(zhǔn)上支持的非常好烙心,還積極上進(jìn)很多地方超出了標(biāo)準(zhǔn),支持一些標(biāo)準(zhǔn)中還是草案的部分乏沸。所以其實(shí)要么我們是作為理論派討論HTML5標(biāo)準(zhǔn)淫茵,要么是作為實(shí)踐派討論HTML5標(biāo)準(zhǔn)在某瀏覽器的應(yīng)用。但是實(shí)際上我們?cè)谡f到H5的時(shí)候蹬跃,并不是指標(biāo)準(zhǔn)匙瘪,也不是指標(biāo)準(zhǔn)的應(yīng)用,而是一個(gè)硬生生造出來的奇怪概念合集蝶缀,所以我是旗幟鮮明的反對(duì)這個(gè)稱呼的丹喻。最近一年的時(shí)間,我主要靠這個(gè)東西養(yǎng)家(并沒有家)糊口翁都。所以我是懂得甲方打電話過來詢問碍论,“你是不是會(huì)做H5開發(fā)?”的時(shí)候柄慰,我知道他們要的是那種可以在朋友圈分享的鳍悠,看起來很酷炫的小頁面税娜,他們實(shí)際要的東西拆開來看大概包括以下技術(shù)點(diǎn);1. 頁面素材預(yù)加載技術(shù),可以使用createJS之中的preloadJS藏研。我沒有看preloadJS的源碼敬矩,不過預(yù)加載并不是HTML5標(biāo)準(zhǔn)中更新的方法。2. 音樂加載播放技術(shù)蠢挡,createJS中同樣有soundJS可以實(shí)現(xiàn)弧岳,而且這部分說起來確實(shí)是HTML5標(biāo)準(zhǔn)支持的內(nèi)容,在上個(gè)時(shí)代并沒有audio這樣的標(biāo)簽业踏。3.可以滑動(dòng)的頁面缩筛,大多數(shù)是用了swiper.js這個(gè)Jquery插件,也有一些是手寫的swipe堡称,比較拙劣的手寫版頁面是不會(huì)跟手滑動(dòng)的瞎抛,其中touchstart等四個(gè)touch系列的事件是HTML5標(biāo)準(zhǔn)中的事件4.可以涂抹擦除,多半是canvas疊加層却紧,canvas是HTML5標(biāo)準(zhǔn)里面的標(biāo)簽桐臊,是代表了先進(jìn)生產(chǎn)力的標(biāo)簽。5.有動(dòng)態(tài)的文字和圖片晓殊,常見的是使用了css3或者直接使用js動(dòng)畫断凶。很多時(shí)候提到HTML5多半還會(huì)帶上CSS3,而CSS的分級(jí)又是另外的一個(gè)問題了巫俺,在不同的項(xiàng)目標(biāo)準(zhǔn)上认烁,CSS會(huì)獨(dú)立定級(jí),以后應(yīng)該不會(huì)有CSS4這個(gè)東西介汹,所以大家也不用擔(dān)心在H5以后又冒出來了C4(不過真是想用C4炸死那些每天把H5掛在嘴上的人)6.可以填表報(bào)名却嗡,這是最基本的表單,是有網(wǎng)頁以來就有的東西嘹承。7.可以支持分享自定義的文案和圖片窗价,這個(gè)是用到了微信的jssdk,和HTML標(biāo)準(zhǔn)半毛錢關(guān)系都沒有叹卷。8.還有其他我想起來再補(bǔ)充的撼港。所以我們?cè)谡務(wù)揌5的時(shí)候,實(shí)際上是一個(gè)解決方案骤竹,一個(gè)看起來酷炫的移動(dòng)端onepage網(wǎng)站的解決方案帝牡。而這個(gè)解決方案不僅包含了HTML5新增的audio標(biāo)簽,canvas蒙揣,拖拽特性靶溜,本地存儲(chǔ),websocket通信鸣奔,同時(shí)也包括了盒模型墨技,包括絕對(duì)定位惩阶,包括一切前端的基本知識(shí)。有學(xué)弟來問我說扣汪,學(xué)長我想學(xué)H5断楷,應(yīng)該從哪里開始?我說HTML5新增特性在W3C上都可以查得到的崭别。學(xué)弟說冬筒,不,我想學(xué)的是H5茅主,想做H5的頁面舞痰。于是我猜測他所指的就是上面論述的這種酷炫小頁面,我就說诀姚,那你要先學(xué)習(xí)HTML响牛,包括HTML5的新標(biāo)準(zhǔn)和之前的全部標(biāo)準(zhǔn),然后學(xué)CSS以及CSS3赫段,了解它們?cè)跒g覽器的實(shí)現(xiàn)情況呀打,原生JS了解一點(diǎn)就可以,大多的操作可以用Jquery糯笙,了解常用的幾個(gè)Jquery插件的用法贬丛,應(yīng)該就差不多了。如果想要做更酷炫的的给涕,學(xué)一下egret或者cocos2d更好恭应。如果要優(yōu)化加載速度,還要學(xué)一下grunt一類的自動(dòng)化工具首启。微信的sdk有很多坑暮屡,至少nodejs或者php一類的后端語言要會(huì)一點(diǎn)。學(xué)弟說毅桃,那這不就是前端了么?我只是想學(xué)H5啊准夷。所以你看,當(dāng)我們對(duì)一個(gè)概念的內(nèi)涵無法統(tǒng)一的時(shí)候衫嵌,我們根本不知道彼此之間在談?wù)摰氖鞘裁础楔绞!盚5“本應(yīng)是一個(gè)技術(shù)合集,卻被意會(huì)成了一項(xiàng)技術(shù)桦锄,變成可以在質(zhì)上而不是量上描述的概念留夜。對(duì)于營銷來說碍粥,我們只要講我們可以做H5或者不能做,這種定性的描述就夠了黑毅。但是對(duì)于技術(shù)上嚼摩,這是定量的事情,只能在具體某個(gè)技術(shù)項(xiàng)上是否矿瘦,無法對(duì)這個(gè)本不存在的概念說是否低斋。就比如我遇到過有甲方說,我們之前找了一個(gè)人做H5匪凡,做的還不錯(cuò)膊畴,但是這個(gè)case他又說做不了,我也搞不懂H5和H5之間也有那么大差別嗎病游?我只能笑笑和他說唇跨,世界這么大,各種各樣的H5都是有的衬衬。這就是為什么我反對(duì)H5买猖,因?yàn)檫@個(gè)名詞和它表示的內(nèi)涵是嚴(yán)重不符的,這讓我們難以溝通滋尉,讓營銷人和技術(shù)人之間產(chǎn)生誤解玉控,讓渾水摸魚的培訓(xùn)師們賺的盆滿缽滿,讓技術(shù)新人不踏踏實(shí)實(shí)的學(xué)習(xí)技術(shù)狮惜。每當(dāng)有人問我高诺,”你是不是做H5的?“我的內(nèi)心都很想咆哮一句碾篡,”你才是做H5的虱而,你全家都是做H5的“
作者:王德福
鏈接:https://www.zhihu.com/question/30363342/answer/53957010
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)开泽,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處牡拇。