uni-app
使用 Vue.js 開發所有前端應用的框架
可發布到iOS、Android、Web(響應式)、以及各種小程序(微信/支付寶/百度/頭條/QQ/快手/釘釘/淘寶)、快應用等多個平台。
- 頁面文件遵循 Vue 單文件組件 (SFC) 規范
- 組件標簽靠近小程序規范,詳見uni-app 組件規范
- 接口能力(JS API)靠近微信小程序規范,但需將前綴
wx
替換為uni
,詳見uni-app接口規范 - 數據綁定及事件處理同
Vue.js
規范,同時補充了App及頁面的生命周期 - 為兼容多端運行,建議使用flex布局進行開發
- 不支持本地圖片的平台,小於40kb,一定會轉base64。(共四個平台mp-weixin, mp-qq, mp-toutiao, app v2)
- h5平台,小於4kb會轉base64,超出4kb時不轉。
- 其余平台不會轉base64
- 微信小程序圖片不支持相對路徑
uni-app
頁面路由為框架統一管理,開發者需要在pages.json里配置每個路由頁面的路徑及頁面樣式
uni-app
有兩種頁面路由跳轉方式:使用navigator組件跳轉、調用API跳轉。
uni-app
支持的通用 css 單位包括 px、rpx
在 uni-app
中不能使用 *
選擇器。
mpvue
mpvue
繼承自 Vue.js
,其技術規范和語法特點與 Vue.js
保持一致。
生命周期同 vue,不同的是我們會在小程序 onReady 后,再去觸發 vue mounted 生命周期,除了 Vue 本身的生命周期外,mpvue 還兼容了小程序生命周期,這部分生命周期鈎子的來源於微信小程序的 Page, 除特殊情況外,不建議使用小程序的生命周期鈎子。
模板中:
- 不支持
純-HTML,
小程序里所有的 BOM/DOM 都不能用,也就是說v-html
指令不能用。 -
不支持部分復雜的 JavaScript 渲染表達式
-
不支持過濾器
不支持在 template 內使用 methods 中的函數。
不支持在組件上使用 Class 與 Style 綁定
嵌套列表渲染,必須指定不同的索引!
wepy
- 使用 Vue Observer 實現數據綁定
- 支持 Vue watch/computed/mixin 等特性
- 基於原生組件實現組件化開發
- 支持 TypeScript
wepy中使用wx:if 方法,只會阻止視圖渲染,並不會阻止組件初始化。
taro
Taro 是一個開放式跨端跨框架解決方案,支持使用 React/Vue/Nerv 等框架來開發 微信 / 京東 / 百度 / 支付寶 / 字節跳動 / QQ 小程序 / H5 / RN 等應用。
其他區別
https://blog.csdn.net/weixin_43469680/article/details/106624975