公司要做一套电商类小程序(多端),前端技术这块在uniapp和taro之间做选择,为此做了一次调研,顺便发表一篇博客,希望能帮助到广大开发者,哈哈哈哈,好了,不吹了
技术层面
均支持使用 npm/yarn 安装管理第三方依赖 均支持使用 ES6 甚至更新的ES规范 均支持使用 less/scss/ts 等预编译器
uniapp 使用 Vue.js 开发所有前端应用的框架 支持可视化构建(HBuildX)和npm or yarn 命令构建 开发工具:自家HBuildX
taro 支持使用 React/Vue/Nerv 等框架来开发 只能用npm or yarn构建 开发工具:官方推荐VScode并
夸端支持
Uniapp(11个平台)
H5 安卓 iOS 微信小程序 360小程序 百度小程序 支付宝小程序 字节跳动小程序 QQ 小程序 快手小程序 快应用 注:- 快应用仅支持 vivo 、oppo、华为 - 360小程序仅 windows平台支持,需要在360浏览器中打开
Taro(12个)
H5 ReactNative 微信小程序 京东小程序 百度小程序 支付宝小程序 字节跳动小程序 QQ 小程序 钉钉小程序 企业微信小程序 支付宝 IOT 小程序 飞书小程序
实际案例
uniapp:分布均匀,不同端之间都有实际案例
taro:几乎都是微信小程序,其他端很少 数据来源于官网(具体详情可自行查看)
社区活跃度
uniapp taro 总体而言二者大差不差,论坛上都是最新的消息,uniapp是几秒前几分钟前 taro的是几小时前几天前,并且uniapp有自己的论坛社区在dcloud官网下,而taro是寄居在gethub上的
可用轮子
uniapp(5139) taro(158)
兼容性
兼容性这一块,taro大部分框架属性对微信小程序的支持最好,其余次之 uniapp对于不同平台无法兼容的一些属性提供了专用的属性 如下图
uniapp taro
最后:根据个人实际构建测试分析
Uniapp:通过HbuiderX可视化构建和npm命令构建文件格式不同,可视化构建没有资源配置文件,容易在编译等阶段引发问题。编译后的dist文件夹对于不同端有明确划分
Taro:统一的命令构建构建,配置文件齐全,但编译后的不同端项目没有明确划分,需要逐个编译。官方提供了NutUI 视图组件(vue)以京东风格的一套视图组件(但经过测试,兼容性问题很大,并且自身存在问题)
*??注:由于只是初步调研,且没有实际开发经验,以上言论仅供参考
|