微信小程序開發初體驗


最近因為工作需要入門了一下小程序,邊入門也邊在思考小程序的應用場景,“用完即走” 四個字一直浮現在腦海。正好最近在學駕照,因為以前一直對車不感冒,所以連奔馳都不認識,正好做個車標速查的小程序,非常符合 “用完即走” 的理念

最終源碼點擊 這里(附小程序碼),車標信息數據來自 車標網

因為小程序是國產的,所以 文檔 是比較友好的,基本上花個半天看下就可以入門了。在一個初學者的角度,談談對小程序的感受

首先,小程序這個東西出現的用意是非常好的,依托於微信,自帶社交、支付等,非常適合傳播,比如斗地主這樣的小程序(小游戲),分享到群,然后開玩,用完即走,非常之爽

然后,小程序的運行本身不依托於瀏覽器,沒有 dom 的概念,在性能上,也比 h5 流暢了不少

可以說,小程序這個東西,還是非常有前途的

然后來說說開發這個 車標速查 小程序時候踩的一些坑吧:

  • index 頁面右側有個 a-z 的導航,如果是 web 端,用錨點即可解決,但是小程序沒法用錨點,正確的解決方案是用 scroll-view 組件,而且需要設置 height 屬性(程序中設置 scroll-view 的 height 屬性為 100%),並且父節點需要設置 height 屬性為 100%(程序中設置 page 標簽的 height 為 100%)本來還想做導航到指定區域時候的 active,但是不好做,遂放棄
  • 小程序沒有 div p 等標簽,只能用它自帶的 組件,可以把 view 組件當作是 web 開發時候的 div
  • 因為我抓取的頁面,有直接抓取 html 代碼,那么就有個問題,如何在小程序中插入 html 代碼?如果是 web 開發,innerHTML 即可,但是小程序沒有 dom,可以用 wxParse,其實就是把 html 轉換為了小程序語言的組件(沒有看過具體實現,我覺得應該就是先轉為抽象語法樹(Abstract syntax tree),然后替換)
  • 有個地方想用到類似 Vue 的 filter 功能,小程序中可以用 wxs 實現,同時貌似發現小程序 {{}} 中居然不能運算?只能基礎賦值?(小程序其實自帶了富文本組件 rich-text,但是不好用)
  • 小程序中有專門的 css 叫做 wxss,它建議用單位 rpx,規定屏幕寬為 750rpx。建議用 iPhone6 做設計稿,375px,然后設計稿一般是雙倍,也就是 750px,那么 1px 就對應 1rpx 了,直接按照設計稿來就好了
  • app.js 有個勾子叫做 onLaunch,在小程序啟動的時候會觸發,這讓小程序看起來更像是 app,因為類似 Vue 這樣的 web app 並沒有這樣的勾子
  • 如果點擊右上角要能夠分享,必須要寫 onShareAppMessage,而這個函數會在轉發的時候觸發。這點設計不是很能理解,我的觀點是這個配置應該放在 xx.json 里面,而不是放在類似這樣的勾子函數里
  • project.config.json 不需要自己去寫,而是改變微信開發者工具里的一些配置后,會自動更新,類似 Alfred workflow 開發時候的 info.plist 文件
  • 最后說到發布,貌似一個賬號只能發布一個小程序/公眾號?之前賬號注冊了一個公眾號,現在不能添加小程序了,只能再注冊一個賬號了

接下去計划用 mpvue 來改寫這個簡單的小程序


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM