只考虑小程序和 H5 的情况下,目前比较好的多端框架选哪个?

2022-01-11 16:03:35 +08:00
 ciki

现在的多端框架都恨不得覆盖一切端,然而实际上踩坑成本都要大过单端了,现在需求只考虑小程序和 h5 这两个端的前提下,比较好的框架选哪个?

对比后发现 uniapp 和 taro 都可以列入备选,但是发现坑也不少,在不考虑分开开发的情况下,好的方案是啥?

4748 次点击
所在节点    程序员
21 条回复
Latin
2022-01-11 16:18:29 +08:00
别用小司的框架就完事
ch2
2022-01-11 16:26:37 +08:00
taro 没问题,兼容 H5 还是比较简单的
hypocriticalr
2022-01-11 17:04:23 +08:00
taro ,uniapp 的坑多到怀疑人生
Elephant696
2022-01-11 17:23:08 +08:00
如果主要是小程序,h5 只作为补充,这俩都行,看你技术栈,一个偏 react ,一个偏 vue ,uni-app 的话第三方组件多点。如果主要是 h5 ,小程序作为补充的话,建议写两个项目。不然后面开发会很累
gadfly3173
2022-01-11 17:24:14 +08:00
uniapp 的 vue3 支持一塌糊涂,ts 支持也很弱。taro 如果用 vue 的话问题是用不了 scoped css ,必须要用 css module ,所以 taro 的话可能还是 react 写起来轻松。
qa2080639
2022-01-11 17:31:22 +08:00
感觉这种一套代码多平台的坑多,用 uniapp 生成的小程序代码有的报错,因为已经是编译过后的 也很难排查出问题
用来开发展示的应用还行,强交互的还是分 2 套吧
lujiaosama
2022-01-11 17:52:52 +08:00
项目大么复杂么.小程序只是微信的话建议原生, 虽然原生写法蹩脚. 但是 bug 最少, 开发调试起来都是最快. uniapp 编译个项目速度跟蜗牛似的,8 核 16 线程根本用不上场, 出了问题排查链路要比小程序长. 自带编辑器又很菜, 我得同时开着 vscode,hbuilder, 微信模拟器三个 ide 干活. 而且很多功能 H5 端和小程序端其实完全没法用一套逻辑搞定的,还是一开始就分出来就最好
yangzzzzzz
2022-01-11 17:56:37 +08:00
taro, uniapp 更适合速成一个项目后面不维护了。如果不用小程序的话推荐 quasar 可以打包成桌面手机端,而且作者是个强迫症 更新的也很及时,编码也比较优雅
gadfly3173
2022-01-11 18:01:27 +08:00
@lujiaosama #7 不写 app 的话 hbuilderx 那个垃圾可以直接扔了,用 vue-cli 就好
genesischou
2022-01-11 18:02:22 +08:00
说服产品放弃 h5 ,专心原生搞小程序。
han3sui
2022-01-11 19:47:28 +08:00
H5 单独写,小程序如果和微信生态强交互的话,也要单独写,如果只是普通功能多端能力,小程序 uni-app 可以满足
zwgf
2022-01-11 20:04:48 +08:00
之前的公司用 uniapp 写了一套全功能的商城小程序,遇到过 2,3 个坑,不过都不是大坑,目前在线运营,日活跃用户 10w+,没遇到什么 bug
mxT52CRuqR6o5
2022-01-11 20:09:18 +08:00
要求不高的话小程序可以直接 webview 套 h5
pengtdyd
2022-01-11 20:31:13 +08:00
taro 要有能看懂源码的能力,不然尽量用原生的
wukongkong
2022-01-11 22:49:04 +08:00
uniapp 吧,有坑,基本可以定位出来,看他的源码也比较清晰,日均小程序 uv 快 100 万了……
原生的基本没有工程化,真的不适合开发……

遇到 uniapp bug 别怕,去分析,去 debugger ,去 github 提交 pr ,又能混热门项目贡献,何乐而不为
fzcf
2022-01-12 07:45:15 +08:00
说实话我也建议 uniapp 虽然文档不全,虽然会有一两个 bug ,但是看社区看博客还是能爬出来的,这些成本完全小于微信小程序的学习成本。
zachlhb
2022-01-12 08:06:50 +08:00
uniapp 我司在用,各种类型项目都做过,并没有楼上那些说的那么不堪,重点在自己,问题肯定会有,这个你用问题框架都保证不了没有任何问题,重点是要有解决问题耐心,很多人现在基本养成了拿来主义思想,都希望拿来随便写写完事,可开发哪有这么容易?很多人拿来框架或组件一运行报错了,立马崩溃,开始骂垃圾,从来不去探寻原因,所以从来成长不了
dengji85
2022-01-12 09:09:47 +08:00
不是大型项目就 uniapp,不要上 vue3 ,遇到坑要敢于质疑,没错,官方及三方插件会有不少的问题,好在插件是源码方便定制
Francis404
2022-01-12 09:27:06 +08:00
Taro 就好了
markgor
2022-01-12 09:33:58 +08:00
刚开始使用 uniapp 生成微信小程序,确实一堆问题,大致上是生成后的 v-show 在微信小程序中会导致报错;
至于其他的坑我还没遇到过,前几排说一堆坑不知道能否举例一两个?
通过 uniapp 开发过 2 个 APP 在运营,6 个微信小程序,1 个抖音小程序,3 个 H5 页面,其中一个项目是 APP 、微信小程序、H5 、抖音小程序 一起的,但是多平台编译换来的代价是一堆条件编译,看起来很凌乱。
都是基于 VUE2 开发的。
NVUE 下尝试过,但一堆不支持多到怀疑人生,本来 weex 的怪异现象就多了,所以不多说了。
而 VUE3 没记错是最近 3 个月左右才开始支持的吧?不稳定完全正常啊,而且 vue2 又不是不能用。

flutter 、uniapp 、taro 两个分水岭,taro 和 flutter 我没使用过不清楚,但 uniapp 使用快 1 年了,开发效率真的挺高,而且有一个项目涉及到境外的某个支付平台 SDK 调用,自己把 SDK 包装下暴露接口给 uniapp 调用就行了。

当然 uniapp 的文档和论坛基本可以理解为缺少支持,但免费商用的你还想怎么样,并且付费的话就能得到商业支持。

我接触到的,比较大型的公司喜欢选择 flutter taro 这两样,外包和个人开发者倾向 uniapp 。

但我觉得这些东西不是不能喷,而是纯属的喷毫无意义,喷一样东西的时候,先把问题说清楚再去喷,而不是一味说“垃圾、一堆坑、用不了、他不行” 这样的话。

对于一个免费商用支持的东西,你不喜欢大不了直接不用,没必要到处黑他吧?
你能开发一个同等的出来并免费商用,然后去喷他怎样怎样,那我能理解;
你开发不了同样的东西,但你能指出他的坑和缺点,我能理解你是为了让后人避坑;
你既开发不了同样的东西,又不指出坑在哪,自己却一直在用他来输出,到处去喷他有问题,我真的无法理解这种做法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/827597

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX