uni-app,mpvue,wepy,taro框架

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 绑定

不支持在组件上使用 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