目前市场上主流的小程序框架统计

  • Rax —淘系
  • Taro —京东
  • Chameleon — 滴滴
  • WePY —腾讯
  • uni-app —Dcloud
  • Kbone —腾讯
  • Remax — 支付宝

目前市场上主流的小程序框架对比

底层方案对比

Rax 编译时 & 运行时
Taro 编译时
Chameleon 编译时
WePY 编译时
uni-app 编译时
Kbone 运行时
Remax 运行时

DSL对比

Rax React
Taro React
Chameleon 类Vue
WePY 类Vue
uni-app Vue
Kbone React/Vue/Omi
Remax React

IDE和图形化开发工具支持

Rax
Taro
Chameleon
WePY
uni-app
Kbone
Remax

语法校验

Rax
Taro Eslint规则
Chameleon 自研
WePY
uni-app IDE支持
Kbone 取决于上层前端框架
Remax

TypeScript支持

Rax
Taro
Chameleon
WePY
uni-app
Kbone
Remax

样式方案

Rax 编译时: Sass/Less/Stylus
运行时: 可配置
Taro Sass/Less/Stylus/Css Modules
Chameleon Sass/Less/Stylus
WePY Sass/Less/Stylus
uni-app Sass/Less/Stylus
Kbone 可配置
Remax 可配置

语法限制

Rax 编译时: 有限制
运行时: 无限制
Taro 有限制
Chameleon 较少限制
WePY 有限制
uni-app 较少限制
Kbone 无限制
Remax 无限制

多端编译方式

Rax 环境变量条件编译
Taro 环境变量 + 文件条件编译
Chameleon 自研多态协议
WePY 环境变量条件编译
uni-app 自研条件编译语法
Kbone -
Remax 环境变量条件编译

H5兼容Api

Rax
Taro
Chameleon
WePY
uni-app
Kbone ✅模拟Dom/Bom api
Remax

跨端组件库

Rax
Taro
Chameleon
WePY
uni-app
Kbone
Remax

小程序支持情况

Rax 微信小程序
支付宝小程序
Taro 微信小程序
支付宝小程序
百度小程序
QQ小程序
字节跳动
Chameleon 微信小程序
支付宝小程序
百度小程序
QQ小程序
字节跳动
WePY 微信小程序
支付宝小程序
百度小程序
uni-app 微信小程序
支付宝小程序
百度小程序
QQ小程序
字节跳动
Kbone 微信小程序
Remax 微信小程序
支付宝小程序
字节跳动

自研组件库

Rax
Taro
Chameleon
WePY
uni-app
Kbone
Remax

Demo工程

Rax
Taro
Chameleon
WePY
uni-app
Kbone
Remax

状态管理方案

Rax Redux/ Mbox /iceStore(hooks) 等react生态状态解决方案
Taro Redux/ Mbox / Dva
Chameleon Vuex
WePY Vuex / Redux
uni-app Vuex
Kbone 可根据DSL进行选择对应的状态解决方案
Remax React生态状态

是否支持与原生代码混用

Rax 编译时: 项目、组件都支持
运行时: 暂时仅支持项目
Taro 仅支持项目中使用原生代码
Chameleon 项目、组件都支持
WePY 不支持
uni-app 仅支持项目中使用原生代码
Kbone 仅支持项目中使用原生代码
Remax 仅支持项目中使用原生代码

维护团队

Rax 阿里淘系无线架构团队
Taro 京东凹凸实验室
Chameleon 滴滴顺风车团队
WePY 来自微信的个人开发者
uni-app Dcloud公司
Kbone 来自微信的个人开发者
Remax 支付宝团队

工程复用&可扩展性

Rax 基于集团的构建工具build-scripts体系, 与ice工程体系无缝连接, 可复用ice体系功能
Taro 支持使用webpack-chain自定义配置, 但是仅服务于taro体系
Chameleon 有限的工程体系, 无插件可用
WePY 仅提供部分的工程能力
uni-app 可复用的vue-cli生态
Kbone 有限的工程配置
Remax 有限的工程配置

小程序IDE支持

Rax 支付宝小程序IDE
Taro
Chameleon
WePY
uni-app 支付宝小程序IDE
Kbone 微信小程序IDE可识别
Remax 支付宝小程序IDE

附录:

Rax: https://rax.js.org/miniapp
Taro: https://taro.aotu.io/
Chameleon: https://cml.js.org/#/
WePY: https://tencent.github.io/wepy/document.html#/
uni-app: https://uniapp.dcloud.io/
kbone: https://wechat-miniprogram.github.io/kbone/docs/
remax: https://remaxjs.org/