小程序框架对比(Taro VS uni-app)
前前段时间,要开发一个小程序,需要选一个跨平台的框架,为此做了一些调研,在这里记录一下。
目前的跨平台方案大致是以下三种类型,各有优劣。
结合项目自身情况,我选择了第三种类型的框架,再结合支持多平台的要求,重点锁定在了Taro
和uni-app
之间。
框架 | 技术栈 | 微信小程序 | H5 | App | 支付宝/百度小程序 |
---|---|---|---|---|---|
Taro | React/Vue | ✅ | ✅ | ✅ | ✅ |
uni-app | Vue | ✅ | ✅ | ✅ | ✅ |
WePY | Vue | ✅ | ❌ | ❌ | ❌ |
mpvue | Vue | ✅ | ✅ | ❌ | ❌ |
Taro
开发者:
京东
优缺点:
Taro在App端使用的是React Native
的渲染引擎,原生的UI体验较好,但据说在实时交互和高响应要求的操作方面不是很理想。
微信小程序方面,结合度感觉没有那么顺滑,有一些常见功能还是需要自己去封装。
另外就是开发环境难度稍高,需要自己去搭建iOS和Android的环境,对于想要一处开发到处应用的傻瓜式操作来讲,稍显繁琐。
但Taro 3的出现,支持了React 和 Vue两种DSL,适合的人群会更多一点,并且对快应用的支持也更好。
案例:
学习成本:
React、RN、小程序、XCode、Android Studio
uni-app
开发者:
DCloud
优缺点:
uni-app在App渲染方面,提供了原生渲染引擎和小程序引擎的双选方案,加上自身的一些技术优化(renderjs),对于高性能和响应要求的场景展现得更为流畅。
另外它整体的开发配套流程也做得很容易上手。比如有丰富的插件市场,使用简单,支持大量常用场景。
还比如它的定制IDE——HBuilder,提供了强大的整合能力。在用HBuilder之前,我心想:“还要多装一个编辑器麻烦,再好用能有VS Code
好用?”用过之后:“真香!”
虽然用惯了VS Code
对比起来还是有一些痛点没有解决,但是对于跨平台开发太友好了,其他缺点都可以忍受。HBuilder里支持直接跳转到微信开发者工具调试,支持真机实时预览,支持直接打包小程序和App,零门槛上手。
不过,uni-app也还是不够成熟,开发中也存在一些坑,需要不时到论坛社区去寻找答案。
代表产品:
学习成本:
Vue、小程序
总结
跨平台方案目前来看都不完善,适合以小程序、H5为主,原生APP(RN)为辅,不涉及太过复杂的交互的项目。
uni-app 开发简单,小项目效率高,入门容易debug难,不适合中大型项目。
Taro 3 开发流程稍微复杂一点,但复杂项目的支持度会稍好,未来可以打通React和Vue,已经开始支持RN了。
- 不考虑原生RN的话二者差不多,考虑RN目前Taro3不支持,只能选uni-app;
- 开发效率uni-app高,有自家的IDE(HBuilderX),编译调试打包一体化,对原生App开发体验友好;
- 个人技术栈方面倾向于Taro/React,但项目角度uni-app/Vue比较短平快,社区活跃度也比较高。
作者:sherryhe
链接:https://juejin.cn/post/6974584590841167879