微信公眾號前端個人開發(fā)總結(jié)

這一個多月,開發(fā)了一個微信公眾號的微信H5商城。

地址:

http://napp.9pin.com/wx/page/wxBeerSet.htm?cid=61&code=081CrhBc2yRDvB0TaKAc2bl1Bc2CrhBP&state=&weixin_oauth_code=081CrhBc2yRDvB0TaKAc2bl1Bc2CrhBP

技術(shù)棧

前端:jQuery + rem + flex

后臺: java

前言

公司一共兩個前端,我負責(zé)一個后臺管理系統(tǒng)項目,一人獨立前端開發(fā)。另外一個同事A前端開發(fā)這個公眾號商城。由于公司開發(fā)策略有變,公眾號商城放在首位,我被迫放在現(xiàn)有項目,加入商城開發(fā)。

我是一個接盤俠

所謂接盤俠,就是接別人的爛攤子,繼續(xù)開發(fā),所以我可以算是二次開發(fā)?

接手項目

加入項目,此時頁面大概有10多個,已經(jīng)寫得差不多了,但只是靜態(tài)頁面,后臺接口還沒有。我心里美滋滋的,心想還不錯,不用我來寫頁面,直接等后臺接口渲染數(shù)據(jù)加載,優(yōu)化下就完事了。

直到我真正看到代碼的時候

我所認為的問題
  1. 文件目錄混亂
  2. class id 等命名不規(guī)范樣式
  3. 樣式大多使用標簽選擇器
  4. 代碼混亂
溝通與處理

畢竟我來公司也兩個月了,但一直都是獨立一人開發(fā)項目,和同事A也沒有多大的接觸,只有時聊天,說說前端流行的東西,也略知其水平一二。

由于這個項目已經(jīng)開發(fā)了一段時間了,目錄結(jié)構(gòu)再改要花更多時間,迫于時間不能改了,只能順著A的路徑走了,后來到了現(xiàn)在項目上線了,隨著文件的增多,目錄結(jié)構(gòu)越來越亂,找文件的時間也花得比較多,也挺懊悔當初沒有改回來,導(dǎo)致現(xiàn)在找文件速度有點慢。

此時頁面也差不多寫完了,命名不規(guī)范,樣式混亂我能怎么辦,我也相當無奈,也不能一個個地找,一個個地改回來吧,現(xiàn)有的就只能隨他去吧,我看了代碼之后也細心明確告訴A,他寫的代碼的不足之處,后來到現(xiàn)在好一點了,也許還需要點沉淀與積累吧?

關(guān)于標簽大量使用了標簽選擇器和 :nth-child() ,而沒有正確使用class出現(xiàn)的問題。一開始我也沒覺得是個問題,后臺等到需求不斷變的時候,功能不斷變化,有時候在這個div里加上一個內(nèi)容,之前使用標簽選擇器和:nth-child()來控制樣式會變得非常致命。這就為什么大牛都推薦使用class來控制樣式的原因吧。

共同開發(fā)

雖然A水平?jīng)]有自己好,但是還要一起開發(fā)的,我只能自己接手比較難的模塊,簡單點的模塊就交給A。

由于靜態(tài)頁面與渲染數(shù)據(jù)、事件綁定有緊密聯(lián)系,所以最好一個模塊當中,html、css、js都要自己來寫會比較好,自己對頁面內(nèi)容,事件的把控都會比較熟悉。

開發(fā)中出現(xiàn)的問題

移動端適配

所謂移動端適配,就是要根據(jù)移動設(shè)備的屏幕大小來顯示適當比例的內(nèi)容與圖像。因為A沒有做過移動端,沒有考慮到適配問題,這讓我相當無奈,因為當時我接手的時候頁面已經(jīng)差不多寫完了。沒辦法,只能一個一個地改,所以說,剛開始真的很重要很重要,直接影響了之后的開發(fā)與迭代了。

使用rem.js

我是通過使用rem單位和一個rem.js來解決移動端適配問題。

(function(doc, win) {
    var docEl = doc.documentElement,
        resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
        recalc = function() {
            var clientWidth = docEl.clientWidth;
            if (!clientWidth) return;
            docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
        };
    if (!doc.addEventListener) return;
    win.addEventListener(resizeEvt, recalc, false);
    doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);

通過獲得屏幕的寬度大小,來改變html的font-size

用戶錯誤操作提示

很多時候用戶都會有一些誤操作,比如填寫表單的時候手機號碼不正確或者漏填信息、后臺接口錯誤提示等等,都應(yīng)該給予適當?shù)恼`操作提示,一開始我是使用alert()直接完事,但用戶體驗相當不好,尤其是移動端,相當難看而又讓用戶再點一次,感到惡心,后來模仿其他平臺做法自己寫了一個通用方法彈出層進行錯誤提示。

            //HTML
<div class="tips" style="display: none">
        <div></div>
</div>
            // CSS
.tips {
    position: fixed;
    top: 42%;
    width: 100%;
    left: 50%;
    text-align: center;
    z-index: 999;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.tips>div {
    display: inline-block;
    margin: 0;
    padding: 0.2rem 0.3rem;
    text-align: center;
    color: #fff;
    font-size: 0.6rem;
    text-shadow: 1px 1px 1px #000;
    border-radius: 50px;
    /*line-height: 1.5rem;*/
    background: rgba(0,0,0,.8);
}
            // JS
function showTips(text) {
    $('.tips>div').text(text).parent().fadeIn().fadeOut(2000);
}
需求不明確

這個問題相當重要,直接影響你的開發(fā)進度和心情。由于需求不明確,往往在開發(fā)當中,等你寫完了這個頁面或者開發(fā)完這個功能之后,很有可能需求發(fā)生更改,UI很可能會變,所以當你寫完一個頁面之后,產(chǎn)品和UI告訴你,"之前的那個頁面老板說不好看,需要重做,這個是最新的頁面" 我想你會相當崩潰的,直到我三番四次地改,我才發(fā)現(xiàn)了這個問題的嚴重性??尚尚?/p>

意見

  1. 先做你覺得不會改變的頁面和功能
  2. 一個頁面中,很可能只有一塊是不確定的或者改來改去的,這塊可以先放下,不要做
兼容性處理與多測試

往往在瀏覽器中調(diào)試是不會出現(xiàn)問題的,等到真的放上服務(wù)器,用真機測試時,會出現(xiàn)各種各樣的問題。

首先,在開發(fā)過程中,有條件和時間的話,可以開啟一個本地服務(wù)器,多在真機中測試。而一些微信支付、微信分享等功能需要放到服務(wù)器上測試的,就要多測試,基于微信公眾號開發(fā),調(diào)用微信JDK,這也沒什么辦法的。

安卓端、IOS端

IOS微信瀏覽器是自帶一個返回鍵的,而安卓端有些是用home鍵來控制返回,有些是沒有返回的,例如在下單頁面中,需要填寫用戶收獲信息,我會在同一個頁面來進行,利用一個彈出層來控制,頁面來會有一個關(guān)閉按鈕,確保安卓端與ios都可以點擊關(guān)閉,而不是按"返回",返回到上一個頁面,這個流程就是不對的,所以在開發(fā)中,要與產(chǎn)品溝通好,了解整個流程,確保安卓端以及IOS端的流程一致,避免一些不必要的開發(fā)。由于使用了比較笨重的jquery,其他兼容性問題出現(xiàn)得比較少,如有出現(xiàn),直接Google,搜一下,相信就有解決方法了。

總結(jié)

這個項目中,整個團隊都是從零出發(fā),需求不明確,在開發(fā)中遇到的問題還是比較多,與同事交流討論也比較多,大家一步一步討論、一步一步優(yōu)化以及提出自己的建議,每個人都盡力做好自己的事情,在開發(fā)過程中還是挺開心的,等到真的測試上線了,看到自己做的東西,心情又會很開心。我知道自己代碼還是寫得不夠好,還是不太會利用面向?qū)ο蠓绞絹砭幊?,相信下次會越來越好?/p>

致自己,加油。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,355評論 25 708
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 14,199評論 1 92
  • 人是要心存善念的,否則就會滑向惡的深淵。善念不是想來就來,想走就走的,那是要時時處處去積累、去儲存,才能在關(guān)鍵的時...
    北國風(fēng)光_印象岳峰閱讀 464評論 1 2
  • 愿你所付出的都甘之如飴。
    減肥的女孩閱讀 403評論 0 0
  • 這本書是能量老師介紹的。上個月摩摩開了個讀書營,就是講解這本書的。我覺得聽起來很有趣,就參加了,也買了這本書。這本...
    V之日志閱讀 564評論 4 10

友情鏈接更多精彩內(nèi)容