微信手機(jī)網(wǎng)站開發(fā)總結(jié)范文
微信手機(jī)網(wǎng)站開發(fā)總結(jié)范文
最近在開發(fā)中遇到了很多問題,比如ajax請求,大量使用ajax提交數(shù)據(jù)會(huì)發(fā)現(xiàn)經(jīng)常出現(xiàn)重復(fù)性數(shù)據(jù),也就是說用戶提交了兩次,這個(gè)問題的根本在于手機(jī)端網(wǎng)速過慢,導(dǎo)致用戶以為沒有點(diǎn)擊上,就會(huì)在點(diǎn)擊一次,所以這個(gè)時(shí)候我們必須要加上“鎖屏”,或者提示用戶數(shù)據(jù)正在提交當(dāng)中,由于以前沒有移動(dòng)端開發(fā)的經(jīng)驗(yàn)所以倒置出現(xiàn)了很多重復(fù)的數(shù)據(jù),這個(gè)問題應(yīng)該算比較嚴(yán)重的 一個(gè)問題。
另外一個(gè)問題就是還網(wǎng)速問題,比如最近開發(fā)的微信訂餐模塊,在首次加載的時(shí)候有很多產(chǎn)品分類、產(chǎn)品,所有的產(chǎn)品都是通過ajax來獲取的,這樣有存在了一個(gè)問題,當(dāng)讓我們也是為了追求極致的用戶體驗(yàn),比如用戶點(diǎn)擊西餐分的時(shí)候的時(shí)候我們?nèi)フ埱蠓⻊?wù)器來獲取西餐中的產(chǎn)品,點(diǎn)擊中餐獲取中餐中的數(shù)據(jù),當(dāng)下次在點(diǎn)擊中餐的時(shí)候呢?還是請求服務(wù)器嗎?這樣是不合理的,用戶滿意必要再次去浪費(fèi)流量了,所以我們就需要在用戶端做一個(gè)緩存,當(dāng)用戶下次請求的時(shí)候直接走本地緩存不在請求服務(wù)器了。這樣就實(shí)現(xiàn)了一次加載不用多次加載了。
這樣雖然加了一個(gè)緩存層但是還是不能搞滿足需求,現(xiàn)在某個(gè)神奇的國度的網(wǎng)速還是很慢的,3G普及率還不是很高,4G也才剛出來只是一個(gè)噱頭而已,4G的手機(jī)也不多,所以我們除了做緩存還是不夠的,我們需要做一些其他工作來讓操作體驗(yàn)度更高。
以訂餐來舉例:
1、產(chǎn)品列表
2、產(chǎn)品分類
用戶首次進(jìn)來我們將第一個(gè)分類中的產(chǎn)品都加載顯示出來(PS:直接后端語言打印,不要用ajax請求,ajax還會(huì)發(fā)送一次http請求的還不如直接加載出來,當(dāng)頁面出來的時(shí)候就直接顯示了),這個(gè)時(shí)候我們在代碼中協(xié)商window.onload = function(){} 用js來監(jiān)測所有資源是否已經(jīng)加載完成了,如果已經(jīng)加載完成,那么這個(gè)時(shí)候我們需要發(fā)送下一分類中的所有產(chǎn)品了并將他緩存,這個(gè)時(shí)候?qū)τ脩魜碚f他是察覺不到的,其實(shí)我們已經(jīng)在請求數(shù)據(jù)了,一直將我們所有需要的數(shù)據(jù)加載進(jìn)來。這樣用戶在想看下一個(gè)分類中的產(chǎn)品的時(shí)候就不需要在等待了。這樣提前加載可能有會(huì)說,這樣如果用戶不需要看你其他分類的產(chǎn)品你這不是浪費(fèi)嗎?難道你想用戶在等待嗎?我不想看到,我需要給用戶一個(gè)更加流程的操作。這些我們浪費(fèi)的流量我們可以從其他地方進(jìn)行補(bǔ)回的,比如:壓縮頁面 源碼,減少http請求,不實(shí)用jquery而是去封裝自己的原生態(tài)的js(這個(gè)就根據(jù)你自己的業(yè)務(wù)需求吧),總之能省的就都省了,我們們的目的是將pc做成app的操作體驗(yàn)。
【微信手機(jī)網(wǎng)站開發(fā)總結(jié)】相關(guān)文章:
網(wǎng)站開發(fā)實(shí)習(xí)鑒定04-21
網(wǎng)站開發(fā)實(shí)習(xí)鑒定04-21
網(wǎng)站開發(fā)實(shí)習(xí)鑒定04-21
網(wǎng)站開發(fā)實(shí)習(xí)鑒定04-21
網(wǎng)站開發(fā)實(shí)習(xí)鑒定04-21
網(wǎng)站開發(fā)實(shí)習(xí)鑒定04-21
網(wǎng)站開發(fā)實(shí)習(xí)鑒定04-21
網(wǎng)站開發(fā)實(shí)習(xí)鑒定04-21