作為一個踩過無數(shù)坑的小程序開發(fā)者,我想跟你掏心窩子聊聊這事。別被那些高大上的技術(shù)名詞嚇到,其實入門真沒那么難。
1. 準(zhǔn)備工作:別急著寫代碼
首先你得有個微信開發(fā)者賬號吧?注冊過程比想象中麻煩,要填一堆資料,還要等審核。我第一次注冊的時候,光營業(yè)執(zhí)照就上傳了三次才通過,氣得想摔鍵盤。
開發(fā)工具建議直接用微信官方那個,雖然有時候會抽風(fēng),但至少調(diào)試起來方便。記得第一次打開時,看到滿屏的英文報錯差點當(dāng)場去世,后來發(fā)現(xiàn)只是沒登錄...
2. 技術(shù)棧:真沒你想的那么復(fù)雜
WXML其實就是HTML的變種,WXSS也就是CSS的馬甲。最煩人的是那些特有的語法,比如數(shù)據(jù)綁定要用{{}},條件渲染要寫wx:if。剛開始我總記混,經(jīng)常把vue的v-if寫成wx:if,結(jié)果當(dāng)然是報錯。
JavaScript部分倒是還好,ES6的語法現(xiàn)在基本是標(biāo)配了。但小程序有些API真的很反人類,比如那個wx.request,回調(diào)函數(shù)套回調(diào)函數(shù),寫得我想哭。后來學(xué)會了用Promise封裝,才算活過來。
3. 云開發(fā):真香警告
剛開始我覺得云開發(fā)就是個噱頭,直到自己搭服務(wù)器搭到懷疑人生...云開發(fā)真香!不用操心服務(wù)器配置,數(shù)據(jù)庫直接就能用。雖然查詢語法有點奇怪,但至少不用半夜被運維電話吵醒。
不過云函數(shù)有個坑,冷啟動特別慢。用戶第一次訪問要等好幾秒,差點被產(chǎn)品經(jīng)理打死。后來學(xué)會了加個定時任務(wù)保持活躍,才算解決。
4. 調(diào)試:最崩潰的環(huán)節(jié)
真機調(diào)試永遠(yuǎn)是玄學(xué)。模擬器上跑得好好的,一到真機就各種問題。最氣人的是,有些bug只在特定機型出現(xiàn),我總不能把所有手機都買一遍吧?
記得有次遇到個奇葩問題,iOS上正常,Android上白屏。debug了兩天,最后發(fā)現(xiàn)就是個margin值寫大了...想打人。
5. 上線:萬里長征第一步
以為開發(fā)完就完事了?太天真!審核才是噩夢開始。第一次提交被打回,理由是"類目不符"。改完再提交,又說"功能不完整"。第三次說"用戶體驗不佳"...氣得我想順著網(wǎng)線爬過去理論。
最搞笑的是,終于審核通過了,結(jié)果發(fā)現(xiàn)有個致命bug。只能緊急下架,那感覺就像考試交卷后才想起寫錯名字。
給新手的建議
從官方demo開始改,別一上來就想造火箭
多用console.log,雖然很low但真的救命
遇到問題先搜社區(qū),99%的坑都有人踩過
保持耐心,這行就是不斷踩坑爬出來的過程
最后說句掏心窩子的:做小程序開發(fā),頭發(fā)掉得比代碼行數(shù)還快。但看到自己做的產(chǎn)品真的被人用,那種成就感,值了!