使用 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
https://www.jianshu.com/p/9e3a8a7ec221
转自:https://www.cnblogs.com/wangxirui/p/15411640.html