一、是什麼
2017年,微信正式推出了小程式,允許外部開發者在微信內部執行自己的程式碼,開展業務
截至目前,小程式已經成為國內前端的一個重要業務,跟 Web
和手機 App
有著同等的重要性
小程式是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,使用者掃一掃或者搜一下即可開啟應用
也體現了“用完即走”的理念,使用者不用關心是否安裝太多應用的問題。應用將無處不在,隨時可用,但又無需安裝解除安裝
注意的是,除了微信小程式,還有百度小程式、微信小程式、支付寶小程式、抖音小程式,都是每個平臺自己開發的,都是有針對性平臺的應用程式
二、背景
⼩程式並⾮憑空冒出來的⼀個概念,當微信中的 WebView
逐漸成為移動 Web
的⼀個重要⼊⼝時,微信就有相關的 JS-SDK
JS-SDK
解決了移動⽹⻚能⼒不⾜的問題,通過暴露微信的接⼝使得 Web
開發者能夠擁有更多的能⼒,然⽽在更多的能⼒之外,JS-SDK
的模式並沒有解決使⽤移動⽹⻚遇到的體驗不良的問題
因此需要設計⼀個⽐較好的系統,使得所有開發者在微信中都能獲得⽐較好的體驗:
- 快速的載入
- 更強⼤的能⼒
- 原⽣的體驗
- 易⽤且安全的微信資料開放
- ⾼效簡單的開發
這些是JS-SDK
做不到的,需要設計一個全新的小程式系統
對於小程式的開發,提供一個簡單、高效的應用開發框架和豐富的元件及API
,幫助開發者開發出具有原生體驗的服務
其中相比H5
,小程式與其的區別有如下:
- 運⾏環境:⼩程式基於瀏覽器核心重構的內建解析器
- 系統許可權:⼩程式能獲得更多的系統許可權,如⽹絡通訊狀態、資料快取能⼒等
- 渲染機制:⼩程式的邏輯層和渲染層是分開的
小程式可以視為只能用微信開啟和瀏覽的H5
,小程式和網頁的技術模型是一樣的,用到的 JavaScript
語言和 CSS
樣式也是一樣的,只是網頁的 HTML
標籤被稍微修改成了 WXML
標籤
因此可以說,小程式頁面本質上就是網頁
其中關於微信小程式的實現原理,我們在後面的文章講到
三、優缺點
優點:
- 隨搜隨用,用完即走:使得小程式可以代替許多APP,或是做APP的整體嫁接,或是作為閹割版功能的承載體
- 流量大,易接受:小程式藉助自身平臺更加容易引入更多的流量
- 安全
- 開發門檻低
- 降低相容性限制
缺點:
- 使用者留存:及相關資料顯示,小程式的平均次日留存在13%左右,但是雙週留存驟降到僅有1%
- 體積限制:微信小程式只有2M的大小,這樣導致無法開發大型一些的小程式
- 受控微信:比起APP,尤其是安卓版的高自由度,小程式要面對很多來自微信的限制,從功能介面,甚至到類別內容,都要接受微信的管控
參考文獻
- https://developers.weixin.qq.com/miniprogram/dev/framework/