V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ciki
V2EX  ›  程序员

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

  •  
  •   ciki · 2022-01-11 16:03:35 +08:00 · 5099 次点击
    这是一个创建于 1080 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    遇到 uniapp bug 别怕,去分析,去 debugger ,去 github 提交 pr ,又能混热门项目贡献,何乐而不为
    fzcf
        16
    fzcf  
       2022-01-12 07:45:15 +08:00
    说实话我也建议 uniapp 虽然文档不全,虽然会有一两个 bug ,但是看社区看博客还是能爬出来的,这些成本完全小于微信小程序的学习成本。
    zachlhb
        17
    zachlhb  
       2022-01-12 08:06:50 +08:00 via iPhone
    uniapp 我司在用,各种类型项目都做过,并没有楼上那些说的那么不堪,重点在自己,问题肯定会有,这个你用问题框架都保证不了没有任何问题,重点是要有解决问题耐心,很多人现在基本养成了拿来主义思想,都希望拿来随便写写完事,可开发哪有这么容易?很多人拿来框架或组件一运行报错了,立马崩溃,开始骂垃圾,从来不去探寻原因,所以从来成长不了
    dengji85
        18
    dengji85  
       2022-01-12 09:09:47 +08:00
    不是大型项目就 uniapp,不要上 vue3 ,遇到坑要敢于质疑,没错,官方及三方插件会有不少的问题,好在插件是源码方便定制
    Francis404
        19
    Francis404  
       2022-01-12 09:27:06 +08:00
    Taro 就好了
    markgor
        20
    markgor  
       2022-01-12 09:33:58 +08:00   ❤️ 2
    刚开始使用 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 。

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

    对于一个免费商用支持的东西,你不喜欢大不了直接不用,没必要到处黑他吧?
    你能开发一个同等的出来并免费商用,然后去喷他怎样怎样,那我能理解;
    你开发不了同样的东西,但你能指出他的坑和缺点,我能理解你是为了让后人避坑;
    你既开发不了同样的东西,又不指出坑在哪,自己却一直在用他来输出,到处去喷他有问题,我真的无法理解这种做法。
    censujiang
        21
    censujiang  
       2022-10-21 01:29:00 +08:00 via Android
    @zachlhb 请问一下你们公司是用的离线打包吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5384 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:05 · PVG 15:05 · LAX 23:05 · JFK 02:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.