目前市场上主流的小程序框架统计
- 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/