本文已参与「新人创作礼」活动,一起开启掘金创作之路。
跨端框架总结
多框架对比
框架 | Taro | Uni-app | kbone | chameleon |
---|---|---|---|---|
github | 27.3k | 26.6k | 2.7k | 7.9k |
开发语言 | vue 或 react 流行框架语法 | vue 框架语法 | vue 或 react 流行框架语法 | CML + CMSS + JS |
开发工具 | 1. cli 模式 | 1.cli 模式 2. 独特的HBuilder开发 | cli 模式 | 1. cli 模式 2.针对ide有插件 |
接入成本 | taro convert;接入简单 | 可直接使用原生小程序组件 | - | 按步骤迁移,工作量较大 |
跨端情况 | 多端 | 多端 | 微信小程序和H5 | 多端 |
小程序 | ⭕️ | ⭕️ | 微信小程序 | |
H5 | ⭕️ | ⭕️ | ⭕️ | |
APP | 很多功能需要开发者分别在iOS和Android上做原生开发才能实现。比如App端很常见的三方登录、支付、分享等能力, taro 并未封装 | 在基础引擎层面提供了丰富的能力,还提供了丰富的插件市场, | 微信小程序 | |
云开发 | ⭕️ | ⭕️ | ⭕️ | |
serverless/云开发 | 仅支持微信小程序 | DCloud 联合阿里云、腾讯云,提供基于 serverless 模式和 js 编程的云开发平台,支持App/H5/小程序所有平台,详见uniCloud | 仅支持微信小程序 | |
跨端灵活性 | 1. process.env 判断平台 2.额外支持统一接口的多端文件编码方式,以及在样式文件中使用 ifdef 条件编译。 | 1. process.env 判断平台 2. 全面可条件编译的,目录、文件、配置、组件、js、css,所有一切均可通过 ifdef 条件编译 | process.env 判断平台 | |
插件市场 | 下载量较低的物料市场 | 丰富活跃的插件市场 | ❌ | |
UI组件库 | taro ui :支持小程序(微信/支付宝/百度)、H5平台,不支持App | uni ui:可全端运行 | - | cml-ui:可全端运行,但组件数量略少 |
社区 | 活跃的社区 | 活跃的社区 | 开放了微信开放社区中的专区 | github 和一些交流群 |
优点 | 1. APP需要自行搭建IOS/Android开发环境 | 1. 不依赖其他开发环境 | ⭕️ | |
缺点 | 1. APP需要自行搭建IOS/Android开发环境 | 1. 适用于交互不是很复杂的场景;APP等端兼容性还有待提升 | ⭕️ |
具体框架体验介绍
uni-app
DCloud出品
taro
京东凹凸实验室出品
taro next
taro
在稳定版的基础之上,最近也推出了 taro next
,这2个版本差异较大,
kbone
腾讯微信团队出品
chameleon
滴滴出品
wepy
只支持微信小程序
mpvue
只支持各小程序端,微信端案例丰富;
H5、APP不支持;
有配套的ide;
omi
腾讯:PC Web、移动 H5 和小程序开发
主要需要跨App端,不太关注小程序端的框架:
react native
Vue weex
flutter
- google出品,目前可以同时跨Android/IOS/Web/Windows/Mac性能较好;目标全端,期待中;
允许您复用现有的Java、Swift或ObjC代码
语言:dart/第三方扩展
ionic
HTML5 应用程序开发框架
支持IOS/Android/H5;
语言:vue、angular、React版