面試官:說說你對微信小程序的理解?優缺點?
本文轉載自微信公眾號「JS每日一題」,作者灰灰。轉載本文請聯系JS每日一題公眾號。
一、是什么
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/
https://www.zhihu.com/question/263816362