本文的目的不是討(tao)論小程(cheng)序(xu)的是或(huo)非,只是記錄一下(xia)筆者在開發小程(cheng)序(xu)過程(cheng)中(zhong)一些收獲(huo)和感想。
有(you)消息稱第一批微(wei)信小(xiao)程(cheng)序(xu)在12月(yue)中下旬發(fa)(fa)布,在那之(zhi)前,需要將(jiang)已完成的小(xiao)程(cheng)序(xu)向(xiang)騰(teng)訊提交(jiao)審核(he)。58到家看準了(le)這次推廣的機會(hui),制定了(le)小(xiao)程(cheng)序(xu)開發(fa)(fa)計劃。筆者是主要開發(fa)(fa)者之(zhi)一。
閑話少(shao)說,進入(ru)正題。
小程序號稱使用前端技術開(kai)發接近native體(ti)驗的webapp,微信提供(gong)了許多js和(he)native交(jiao)互的bridge API,同時將(jiang)html/css進行改造,分(fen)別對應wxml和(he)wxss。初(chu)見之(zhi)時,看上去就(jiu)是換個(ge)名字而(er)已嘛(ma),都是熟悉的技術,項目分(fen)分(fen)鐘開(kai)發完成(cheng)哈哈。然后就(jiu)興致勃勃的開(kai)始折騰,然后就(jiu)...
小程序官(guan)方文檔(dang)相當“簡潔”,以(yi)示例代(dai)碼的形(xing)(xing)式很(hen)形(xing)(xing)象(xiang)地說明了各(ge)模(mo)塊的開(kai)發(fa)模(mo)式。但是示例代(dai)碼以(yi)及文字描述并(bing)未(wei)將其(qi)中的細節完全暴露出來,上手開(kai)發(fa)后才發(fa)現很(hen)多坑(keng)。
wxss乍看(kan)上去就是(shi)(shi)css,名字相(xiang)似(si),語法相(xiang)似(si)。但寫起代碼來真是(shi)(shi)痛苦的很,下面一一列(lie)出目前筆者遇到的問題。
1> 不支持級聯選擇器
css選(xuan)擇器可以(yi)支持自上(shang)而下一(yi)層層的級聯選(xuan)擇,比如(ru):
.parent .child{
color: #000;
}
前端開(kai)發者對此(ci)非常熟悉。但是(shi)wxss并不(bu)支(zhi)持上述(shu)語法,如果使用class作為(wei)匹配選(xuan)擇器,只能寫一層,如下:
.parent{}
.child{
color: #000;
}
這種(zhong)模式令開發者在(zai)為class命名上必須不能(neng)重(zhong)復,限制了自(zi)由度。
2> 選擇器支持非常有限
目前官方給出的wxss支持選擇器只有(you)以下幾種(zhong):