微信小程序的特点、开发能力及运行机制
生活随笔
收集整理的這篇文章主要介紹了
微信小程序的特点、开发能力及运行机制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
小程序的特點及開發能力
小程序的特點
1、相比于傳統應用,有以下特點:
- 與web相比,首先入口不同。
- 主要都是基于傳統的前端技術,以JavaScript語言為主。
- 與APP相比,學習門檻和開發成本都比較低,可以快速上手。
- 不需要下載和安裝,不想用了也不需要卸載。
- 相比h5,小程序受限微信運營規范,不像h5頁面那么靈活。但他也可以做一些h5做不了的事情,比如消息訂閱,直接轉發消息給好友等。
小程序的開發能力
1、依托于微信的宿主環境,除了常用的UI組件及網絡API之外,在設備能力上,凡微信有的能力,例如振動、監聽網絡狀態、羅盤等,小程序都有。此外,在運營上開放的能力是大家比較關心的,有以下8點值得關注:
- 小程序和公眾號可重名
- 小程序開放群相關能力
- 小程序“附近小程序”功能
- 小程序“星標”功能
- 小程序可關聯500個公眾號
- 可以直接打開網頁
- 小程序的灰度更新和線上版本回退功能
- 小程序客服能力配置
開發小程序的一般流程
1、微信團隊打造了完善的開發生態。不僅有配套的微信開發者工具,還有社區,文檔等。企業和個人都可以注冊小程序賬號,開發、上架自己的小程序產品,接入流程主要包括以下4步:
- 注冊
- 小程序信息完善
- 開發小程序
- 提交審核和發布
小程序的運行機制
啟動機制
1、小程序啟動會有兩種情況:
- 冷啟動
- 熱啟動
雙線程架構
1、為了安全和管控,小程序使用雙線程執行:視圖線程和邏輯線程。
- view 視圖線程
- APP service 邏輯線程
2、邏輯線程的四個狀態
- 初始化狀態,啟動服務線程所需的基本功能,系統的初始化工作完畢就調用自定義的onLoad和onShow,然后等待界面線程的初始化完成信息,onLoad只是首次渲染的時候執行一次,onShow是每次界面切換的時候都會執行。
- 等待激活狀態,接收到視圖線程初始化完成信號后,將初始化數據發送給視圖線程,等待界面線程完成初次渲染。
- 激活狀態,收到界面線程發送來的首次渲染完成信號后,就進入激活狀態,即程序的正常運行狀態,并調用自定義的onReady函數,在這個狀態下可以通過setData函數,發送更新數據給視圖線程以更新頁面。
- 后臺運行狀態,如果界面進入后臺,服務線程就進入后臺運行狀態,在這種狀態下也可以通過setData函數更新視圖數據,但這種更新其實是我們應該避免的。
總結
小程序采用的是雙線程結構,一個線程負責視圖的渲染,一個線程負責業務邏輯的處理,兩個線程都通過WeixinJSBridag與微信Native底層進行通訊,包括兩者之間進行的事件與數據的交換,也是通過它完成的。所有平臺能力、硬件能力也是通過WeixinJSBridge間接提供的。
由于setData在頻繁更新和大數據更新上有瓶頸,影響渲染效率,所以微信引入了WXS編程語言,一般在開發時我們這樣處理,從后端接口接收回來的初始化數據,在頁面onLoad之前,就塞在Data數據之中,用于視圖的初始化渲染,后續的視圖交互與更新,如果不與后臺有關,我們就是用WXS編程語言,直接在視圖里進行完成,這樣可以提高渲染效率。
總結
以上是生活随笔為你收集整理的微信小程序的特点、开发能力及运行机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对待问题的态度
- 下一篇: Python常用内置函数enumerat