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

劝退贴 uniapp

  •  
  •   weiqk · 10 天前 · 8401 次点击
    知道 uniapp 不少年头了,这次图省事将一个微信小程序转换为 uniapp 项目,图小程序、Android iOS 一起搞定,
    本来已经转差不多了。腾讯地图死活打包不上,仔细一看要 vue3
    换 vue3 重新编译吧,结果所有页面全挂了,好不容易调啊调把页面跳好了,真机运行又全军覆没
    真机和本地浏览器调试居然行为不一样,按理说现代手机 webview 很标准很现代化,应该和本地大差不差

    遥记当年 cordova+jQuery 一把梭的好日子,要不是还有个小程序要维护我就选 cordova 了,似乎成熟度更高
    63 条回复    2024-12-17 11:24:17 +08:00
    NewYear
        1
    NewYear  
       10 天前
    用 flutter 吧。

    现在唯一感觉不爽的是市场还有很多 Win7 ,大家都不支持 Win7 了,其他都还好。
    (最经典的是微软,跨平台不支持自家 Win7 ,每次选型都看到微软的语言很不错,然而兼容性不行,开源社区对微软这块投入也少,总是要自己调教,懒得踩坑都是选了其他)
    roundgis
        2
    roundgis  
       10 天前 via Android   ❤️ 1
    @NewYea win7 都 end of support 了
    kakki
        3
    kakki  
       10 天前   ❤️ 1
    ...uni 拿来处理各家小程序的,搞 Android iOS 不用。
    tcper
        4
    tcper  
       10 天前
    不改或少改小程序代码,独立打包成 app ,这个方向可选择的框架就很少。。。
    hash
        5
    hash  
       10 天前   ❤️ 1
    这类玩意儿客户不是程序员,而是小公司老板/中层领导,满足少招几个人的需求的(不管实际上能不能实现,至少暂时能意淫可以实现
    jspatrick
        6
    jspatrick  
       10 天前
    最近也是小程序做地图,感觉最好的方式还是,地图单独做个 webview 内嵌
    wnpllrzodiac
        7
    wnpllrzodiac  
       10 天前 via Android
    @hash 对,外包全是 uniapp 的活,几百块想做个应用。几天就要那种。
    heyjei
        8
    heyjei  
       10 天前
    我是 uniapp 的坚定支持者,你用的不习惯,说明不适合你的场景。
    owen800q
        9
    owen800q  
       10 天前 via iPhone
    @heyjei 为什什么不直接用 webview 套 vant 4? Vant 组件的样式和原生组件差不了多少
    roundgis
        10
    roundgis  
       10 天前 via Android
    @wnpllrzodiac 我還見過一天就要的
    wnpllrzodiac
        11
    wnpllrzodiac  
       10 天前
    @roundgis 其实我是谦虚了。嘿嘿,有的就是下午看到发的包。晚上 9 点前就要,还只给 200.不能再多了。你说这理直气壮的,真的是。
    heyjei
        12
    heyjei  
       10 天前
    @owen800q 因为客户想要做的都是小程序。
    heyjei
        13
    heyjei  
       10 天前
    @owen800q 刚刚看了下 Vant4 ,看上去很不错,下次可以考虑试用一下。
    bzj
        14
    bzj  
       10 天前   ❤️ 2
    “遥记当年 cordova+jQuery 一把梭的好日子”

    这种自己菜不愿意学习还喜欢抱怨的人,我一般都会捏着鼻子走
    chihiro2014
        15
    chihiro2014  
       9 天前
    uniapp 我觉得有点复杂,可能是因为要写 vue 。
    唯一的意义可能就是说方便转换独立 app 这些。

    相比之下,我更愿意写原生小程序代码 wxml 那套,更接近 angular 的感觉
    ltq918
        16
    ltq918  
       9 天前
    uniapp 感觉性能和用户体验不太好
    Ocyss
        17
    Ocyss  
       9 天前   ❤️ 1
    uniapp 好是挺好的, 但我宁愿用 taro 也不想用 uniapp
    SayHelloHi
        18
    SayHelloHi  
       9 天前
    现在外包全是 uniapp

    上家公司用这个写了一个微信小程序 结果客户反馈有点卡

    用微信小程序的那套 wxml 啥的 重写了~~~
    mz02005
        19
    mz02005  
       9 天前 via iPhone
    @roundgis 而且 win10 也快了
    p1gd0g
        20
    p1gd0g  
       9 天前
    flutter 能转小程序了?
    wangtian2020
        21
    wangtian2020  
       9 天前   ❤️ 1
    cordova 打包出来是 Android APP 不是小程序
    水平越低对 uniapp 越是夸赞,你用 uniapp 开发就放心吧,你将遇到不是由开发者技术水平导致的问题,
    而是框架黑箱导致的神秘 bug ,问题还多着呢!
    其中有一些问题甚至你用代码都解决不了,框架内部问题
    wangtian2020
        22
    wangtian2020  
       9 天前   ❤️ 1
    https://ask.dcloud.net.cn/question/141941
    喜欢我遇到的编译到 app 时,只有在引用的情况下经度变成了纬度,纬度变成了经度的问题吗。为什么我说他是黑箱,console.log 出来时是正常,我一去引用就相反,开发者没点发散思维真用不了 uniapp 。吹捧 uniapp 的人只会开发出来有永远修复不了 bug 的小程序,假装自己开发完了
    encro
        23
    encro  
       9 天前
    哎呀,我用 uni 开发了了好多小程序,不少日订单大于 1 万的。
    没有到各位说得问题,或者遇到的问题我都解决了。

    另外 uniapp 也算黑箱吗?
    现在人都学会用这种方式来套东西了吗?
    lichuyi
        24
    lichuyi  
       9 天前
    uniapp 是整合各个小程序规范的,你单纯使用 vue 的语法就可以适配各个端了
    如果你觉得功能有 bug,你可以使用原生组件的形式 在 uniapp 中引用使用
    bluesyoung9527
        25
    bluesyoung9527  
       9 天前   ❤️ 1
    uni-app 就是依托答辩,20 年我准备毕设的时候,setStorageSync 写进去的内容和 getStorageSync 读出来的内容都不一致。然后 hbuilder 降了个级又好了💩
    MRG0
        26
    MRG0  
       9 天前
    uniapp 写小程序和简单的应用还可以
    Lyra2015
        27
    Lyra2015  
       9 天前
    有没有人用过微信小程序的 Donut 多端框架?体验咋样?
    lwlizhe
        28
    lwlizhe  
       9 天前
    @p1gd0g 你是否在搜索[MPFlutter]( https://mpflutter.com/zh/)
    FreshOldMan
        29
    FreshOldMan  
       9 天前
    依托答辩,这强行兼容各种平台还是国产框架,没有大厂背景,想想就知道有多💩
    inoridream
        30
    inoridream  
       9 天前
    uniapp 写个不是很复杂路由的移动端 H5 和小程序凑合,真要写 app 一大堆坑子:就连 app 端原生上传文件,官方 api 都没完美解决,让去用第三方的插件
    lyxxxh2
        31
    lyxxxh2  
       9 天前
    非常同意。
    大部分用 uniapp,项目只需要为某一端服务。
    Chatterleys
        32
    Chatterleys  
       9 天前
    一套代码,多端报错,年初写了个 app 还挺好用的
    retrocode
        33
    retrocode  
       9 天前
    1.你是浏览器调试, 然后小程序运行? 还是浏览器调试,然后安卓运行, 安卓端 webview 版本多少?
    2.4202 年怎么还有吹 cordova?你就用吧,一用一个不吱声.
    iikebug
        34
    iikebug  
       9 天前
    uniappmp 这个 sdk ,多次重复打开小程序的某个页面,有时候会打开失败,跳转回默认页面去的,最小化后再次打开又好了,至今没搞懂这个问题是什么操作导致的
    Gress
        35
    Gress  
       9 天前
    直接打个 PWA 不行么?
    tyrone2333
        36
    tyrone2333  
       9 天前
    @SayHelloHi 我 19 年写 uniapp 就会卡,都 5 年了还是这鸟样吗😂
    MEIerer
        37
    MEIerer  
       9 天前
    没有竞品,taro 算低半档
    mizuki9
        38
    mizuki9  
       9 天前
    安卓、ios 已是历史悠久(屎山,版本兼容问题等),国内更是小程序百花齐放(规范各种各样,尤其微信小程序 api 天天改,官方文档也是找一个 api 废弃一个),现在又来了鸿蒙。uniapp 说它啥都能做,“一套代码,运行到多个平台”,不敢想象里面是多少的屎,新的,旧的,蓝的,绿的,大的,小的。你就算包装再好,上面盖了一层东西遮住,指不定哪天屎漫上来,淹了你。。。
    murmur
        39
    murmur  
       9 天前
    uniapp 外包神器,这玩意学还来不及还劝退
    murmur
        40
    murmur  
       9 天前
    @retrocode cordova 企业开发挺好的,除了插件少的可怜,我们公司从 10 年前就是 phonegap 了,现在 cordova
    不上市场一点问题没有,上市场是很多 api 太老了怕被拒
    han3sui
        41
    han3sui  
       9 天前
    uniapp x 用来搞 app 还挺方便的,就是类型定义经常报错,需要习惯下。
    pythoner
        42
    pythoner  
       9 天前
    我也不推荐 uniapp ,主打的就是:一套代码,多处难受。
    微信自己的组件和 api 都经常变化 ,这又再上面套一层第三方框架,完全是在增加复杂度
    而且本身小程序的开发技术又不并复杂,就那点语法层面的差异,花个两三天时间就摸清楚了。
    如果说转 APP 的话,微信自己出了官方的工具,更靠谱一些。
    如果非要说是需要通过一套代码抹平各家小程序的差异,那么真的有多少产品是需要做到全平台发布小程序端的呢
    retrocode
        43
    retrocode  
       9 天前
    @murmur 是的 cordova 最大的问题就是,三方插件基本都停更了, 只要牵扯到原生就得自己开发, 在有一点 js 是跑在 webview 里的, 需要自己处理 js 和 css 的兼容性问题, uni-app 相对的仅 css 在 webview, js 是跑在独立的 jscore 里没有兼容问题, 另外一个特别的问题, cordova 这类 hybird 架构的框架, 本质还是 html+js 调原生注入 api, 导致部分程序员没有敬畏心, 我简而言之就是是个人都会被分配过来顺手做个页面, 你完全无法预料什么人会在什么时候给你引个 jquery 进来. 我是真遇到过, 一个老项目我被调走后被分配个后端做前端页面, juery 就引了几个版本进来, 结果出兼容 bug, 还是调回来的我修.
    tabc2tgacd
        44
    tabc2tgacd  
       9 天前
    其实包括小程序在内的跨平台方案,大多数情况下我觉得 原生+webview 就挺好的。这里的关键就是:如果 app 只有一个 webview 的话, 就怕应用商店不给上架(尤其是苹果)。

    app 我没试过,只试过微信,微信小程序只有一个 webview 是给上架的。
    weiqk
        45
    weiqk  
    OP
       9 天前
    uniapp 的地位至少相当于很久以前的 dedecms ,dede 用户众多,功能强大容易上手,我想没几个人会高度评价这玩意儿吧
    uniapp 可能适用对象不是外包,是各种小老板的甲方团队,我是给一个很穷的朋友帮忙,穷到什么程度呢,域名续费一年还是五年都要犹豫半天,没多少钱,如果原生开发活多不说,要在各种知识中切换,太累,这是我选择把小程序转换为 uniapp 开发的原因
    你们说的各种槽点和风险我都承认有,这些对现在的我来说似乎能接受,我难于接受的是 vue 打包的一套逻辑,完全没法定位出问题的位置,前两天 vue2 还好一点,似乎有个工具能定位出问题的位置,uniapp+vue3 的项目有什么调(diao)试手段吗?只有定位了错误才能解决错误,除非确认该错误不影响运行
    weiqk
        46
    weiqk  
    OP
       9 天前
    @murmur #39 学这个东西顶多在穷得扣卡的甲方公司一个人干三个人的活,顶多能接几万块的外包单子

    @retrocode #43 我都想引入 jQuery ,jQuery 至少在 ie6 时代抹平过浏览器间差异,是有进步意义的,vue 系似乎在放大差异

    @retrocode #33 浏览器调试跑安卓,我看开发者选项里面说 webview 是 111 ,象这种 uniapp+vue3 的项目有什么好用的调试手段吗?能翻遍定位问题就行
    dustin2016
        47
    dustin2016  
       9 天前 via iPhone
    用 uni-app 开发 iOS ,收到 4.3.0 邮件
    weiqk
        48
    weiqk  
    OP
       9 天前
    @tabc2tgacd #44
    @murmur 40 上架应该没问题,像骑门 APP 这种将 mobile 网站直接打包的方案都能上架,何况 Cordova ,疫情第一年上架过苹果,现在情况不知道
    murmur
        49
    murmur  
       9 天前
    @retrocode w 我认为这反倒是优点,有了问题按 h5 解决就可以了,手机浏览器很成熟了
    yuntun
        50
    yuntun  
       9 天前
    @han3sui 现在 uniapp x 可以上生产了吗 ? 看官网介绍的还不错
    tutouguai
        51
    tutouguai  
       9 天前
    菜就多练 以前是以前 现在是现在
    susunus
        52
    susunus  
       9 天前
    对于不会原生开发的 前端同学,如果要开发 App 我觉得 uniapp 是一个还不错的选择,但是如果有原生小伙伴支持,还是套壳更靠谱,只做小程序我觉得没必要用 uniapp
    Twelveeee
        53
    Twelveeee  
       9 天前
    3 年前用 uni-app 写个简单的 demo ,,写起来很难受,我就感觉,,这玩意不太行。
    tutouguai
        54
    tutouguai  
       9 天前
    op 似乎全程把 uniapp 跟穷绑定在一起 能把对一个框架的怨念发散到这种程度的 罕有人见
    han3sui
        55
    han3sui  
       9 天前
    @yuntun 我试了正常的页面编写,套 webview 通过 JSBridge 交互,应用市场蓝牙插件、华为扫码插件(这个识别速度非常快 UI 还好看),自己写了 uts 插件暴露原生操作文件功能,打包安卓 apk 这些,一套下来是没什么问题的,性能也不错。

    缺点就是应用市场很多插件是收费的(并且质量参差不齐),UI 组件收费的。

    最好自己能有原生插件开发的能力,那扩展性就比较强了。
    weixiangzhe
        56
    weixiangzhe  
       9 天前
    uniapp 除了打包慢,感觉还好,小程序的 api 是真难用,每次用一个新的 api 基本没有两三次打包是调不通的,文档给结构完全不能保证,模拟器和真机表现不同,真机 ios / android 也不同
    Yest192
        57
    Yest192  
       9 天前
    居然有人说 uniapp 麻烦,这个上手给你环境都搞好了,vue 写法,组件什么都搞好了,还有比这个更好上手的吗?当然你一套代码想要多端运行,确实没你想得那么简单,你如果不是从一开始写就开始在多端测试,那各种平台的不一致性绝对头疼,不过多端一套代码就是这样的,flutter 一样也要对不同平台做相应的优化。
    herewego
        58
    herewego  
       9 天前
    又要,既要,还要。
    ala2008
        59
    ala2008  
       9 天前
    开源吗?不开源那肯定问题多多
    SayHelloHi
        60
    SayHelloHi  
       8 天前
    @tyrone2333

    个人感觉卡 也许是我太菜了 哈哈哈

    但是好多第三方软件公司都喜欢用 uniapp 即使不需要多端也用
    p1gd0g
        61
    p1gd0g  
       8 天前
    @lwlizhe #28 看到过,这玩意成熟吗?总感觉很小众
    lwlizhe
        62
    lwlizhe  
       8 天前
    @p1gd0g 不知道,但我感觉应该差不多吧,flutter 核心逻辑不就那套嘛,如果能跑起来,那不搞啥高级函数和方案,简单的展示类需求应该问题不大?而且这个项目也不短了,真有问题那应该早解决了吧。
    反正记得腾讯好像用这玩意搞过,就不知道具体什么规模,最终上没上线了
    vyron
        63
    vyron  
       8 天前
    最烦的就是 uniapp
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5288 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:19 · PVG 16:19 · LAX 00:19 · JFK 03:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.