前前段时间,要开发一个小程序,需要选一个跨平台的框架,为此做了一些调研,在这里记录一下。
目前的跨平台方案大致是以下三种类型,各有优劣。
结合项目自身情况,我选择了第三种类型的框架,再结合支持多平台的要求,重点锁定在了 Taro 和 uni-app 之间。
框架 |
技术栈 |
VX小程序 |
H5 |
App |
zfb/百d小程序 |
Taro |
React/Vue |
√ |
√ |
√ |
√ |
uni-app |
Vue |
√ |
√ |
√ |
√ |
WePY |
Vue |
√ |
× |
× |
× |
mpvue |
Vue |
√ |
√ |
× |
× |
Taro
开发者:
- 京东
优缺点:
- Taro在App端使用的是React Native的渲染引擎,原生的UI体验较好,但据说在实时交互和高响应要求的操作方面不是很理想。
- VX小程序方面,结合度感觉没有那么顺滑,有一些常见功能还是需要自己去封装。
- 另外就是开发环境难度稍高,需要自己去搭建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里支持直接跳转到VX开发者工具调试,支持真机实时预览,支持直接打包小程序和App,零门槛上手。
不过,uni-app也还是不够成熟,开发中也存在一些坑,需要不时到论坛社区去寻找答案。
代表产品:
学习成本:
总结
-
跨平台方案目前来看都不完善,适合以小程序、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比较短平快,社区活跃度也比较高。
|