Mini Progarm 技术选型
目录
1 优劣对比
名称 | 性能 | 开发效率 | 接入成本 | 原生兼容性 | 多端支持 | 状态管理 | 样式支持 | TypeScript | 校验程度 | 成熟程度 | 更新频率 | Issues(open/closed) | Star |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
原生 | 最高 | 最低 | 中等 | - | 不支持 | 不支持 | wxss | 不支持 | 最低 | 成熟 | 高 | - | - |
内嵌 | 最低 | 最高 | 最低 | 不兼容 | - | - | - | - | - | - | - | - | - |
Taro | 中等 | 较高 | 较低 | 中等 | 中等 | Redux、Mbox、Dva | sass、less、CSS Moudle | 支持 | 中等 | 较高 | 高 | 594 / 3274 | 22.2k |
wepy | 中等 | 中等 | 较高 | 较高 | 较低 | Redux | sass、less | 勉强支持 | 较低 | 较高 | 高 | 267 / 1638 | 19.1k |
mpvue | 中等 | 中等 | 中等 | 中等 | 较低 | vuex | sass、less | 勉强支持 | 较低 | 较高 | 高 | 374 / 1237 | 19k |
mpx | 中等 | 中等 | 中等 | 较高 | 中等 | vuex | sass、less | 支持 | 中等 | 较低 | 高 | 11 / 148 | 1.8k |
chameleon | 中等 | 较低 | 中等 | 较低 | 较高 | vuex | sass、less | 不支持 | 中等 | 较低 | 高 | 47 / 191 | 6.7k |
uni-app | 中等 | 较高 | 中等 | 中等 | 中等 | vuex | sass、less | 支持 | 中等 | 中等 | 高 | 193 / 609 | 13.7k |
排除使用原生小程序和内嵌 web 的解决方案后各框架对比:
- 开发效率: 得益于 Typescript 对 JSX 的支持,Taro 在编写组件时可以获得更好的自动补全。
- 接入成本: Taro 采用 React 规范,学习成本低一点。
- 原生兼容性: 混写代码的情况下 wepy 和 mpx 提供了更好的原生代码的支持。
- 多端支持: chameleon 有一套自研的多态协议,uni-app 和 Taro 则是都在 H5 实现了一套兼容的组件库和 API,mpvue 和 WePY 都提供了转换各端小程序的功能,但都没有 h5 和移动端的支持。
- 组件库/工具库/Demo: uni-app > WePY > Taro > mpvue > chameleon、mpx。uni-app 有自己的 IDE 且是国人团队开发的。
- 流行程度: uni-app 号称有上万案例,有 30+ 个 QQ 交流群(最大人数 2000)。紧跟其后的为 Taro、mpvue、WePY。
- 开源建设: 从第三方贡献者数量来看,Taro 在这一方面领先,并且 Taro 的一些核心包/功能(MobX、CSS Modules、alias)也是由第三方开发者贡献的。WePY 作为其中开源最早的框架紧随其后。mpvue 由于停滞开发了很久就比较落后了。uni-app 在开源建设上并不热心,甚至有些部分代码都没有开源。