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

框架选型问题 React Native、Flutter、uniappx?

  •  
  •   69partner · 3 天前 · 4559 次点击

    我们想做一款 App ,功能就是基础页面功能的添加会有部分动画效果 看 b 站视频,flutter 从各种层面上数据都是优于 rn 的,但是招聘的角度上看,国内环境 flutter 是否好招人 uniapp 好像 ios 依然会打包成 web 的方式,操作起来应该就不太丝滑 请路过的 v 友们留下你们对这两个框架的看法

    83 条回复    2025-08-22 11:23:34 +08:00
    chaxus
        1
    chaxus  
       3 天前   ❤️ 1
    求稳来说 RN ,目前截止 2025 ,生态比另外两个好太多。遇到问题问 AI 或者搜索都更容易解决。flutter 感觉大金主 google 不咋上心支持,只能说未来可期吧。
    niubee1
        2
    niubee1  
       3 天前   ❤️ 1
    老实说,现在都 AI 开发了,干脆原生算了
    BeiChuanAlex
        3
    BeiChuanAlex  
       3 天前
    嗯....如果我推荐原生,不是有点大逆不道了。
    dssxzuxc
        4
    dssxzuxc  
       3 天前
    大部分情况下 flutter 性能更佳,写前端更费劲点,Dart 表达画面的能力被 CSS 吊打; RN 性能稍差,前端部分更好实现,但是样式在不同平台不一致。硬要比就是半斤八两,确实很难抉择。uniapp 也不是不行,除此之外还有 KMM/KMP 也可以看看。
    尝试过 Tauri mobile ,完全生产不可用,只能作为内部工具使用。
    如果你们有 react 的历史包袱,或者更注重开发效率,那就选 RN ,如果 java 仔多,或者愿意仔细打磨产品就 flutter 。
    不过当下原生或许是个更佳选择。
    angrylid
        5
    angrylid  
       3 天前
    那你为什么不先开两个岗位收一波简历再砍掉其中一个(
    dearmymy
        6
    dearmymy  
       3 天前
    对性能没有特别高要求,就 rn 。招人肯定也好招。
    9ki
        7
    9ki  
       2 天前
    对动画有要求就别考虑 uniapp

    RN:多端不统一,需要找一个经验丰富的开发领导,相比 flutter 开发效率高点

    Flutter:多端统一,开发效率不如 RN ,性能方面下限高

    在 AI 时代 RN 的历史积累开发上会更具备优势
    donotquestion
        8
    donotquestion  
       2 天前
    我会 ios 中的 oc 、swift ,安卓中的 kotlin + jetpack ,和 RN 、flutter ,每个技术栈都有至少两个成熟的商业项目验证。
    RN 代码清晰但是单线程技术性能有瓶颈
    flutter ,代码逻辑混乱,但是性能好
    qianji201712
        9
    qianji201712  
       2 天前
    Flutter 其他不考虑
    iOCZS
        10
    iOCZS  
       2 天前
    其实都行,如果不行,早就死了
    yb2313
        11
    yb2313  
       2 天前
    嗯,, 听说 tauri-v2 也可以做 app 了?
    bg7lgb
        12
    bg7lgb  
       2 天前
    Flutter 把代码组织好,也挺方便的。

    不过有一点不爽的经常是先写好了,效果出来后,再重构组件。
    kakki
        13
    kakki  
       2 天前
    为什么会认为自己有的选...明明只有 Flutter.
    但是我更推荐原生, 都 AI 写代码了.
    Manweill
        14
    Manweill  
       2 天前
    说 RN 多端不统一的,必定是没实际在项目中应用过 RN 。但是有 RN 的实际项目都不至于这样说。目前这三只推荐 RN ,除非你要搞游戏
    kongkx
        15
    kongkx  
       2 天前 via iPhone
    RN 起步, 优化到最后还是原生
    caiyuan
        16
    caiyuan  
       2 天前
    @Manweill 我也在想,为啥老说 RN 多端不统一?不统一在哪? alert 弹窗?这玩意儿会用到? UI 不都是自己设计的吗?写的时候都按照 UI 去写样式了,不统一啥?
    fms86
        17
    fms86  
       2 天前
    如果不是国内客户明确要求 uniapp ,那就优先选 RN ,而且国外有 expo 这种 RN 框架开发成本更低,成熟度也更高
    seven123
        18
    seven123  
       2 天前
    RN 方便,效率高,flutter 比 RN 性能稍好一点,长期跨端看好 KMP ,上面很多都推荐原生,我也知道原生好,但是每个端都要实现,没有那么多人力。
    murmur
        19
    murmur  
       2 天前
    @caiyuan rn 只是看着像前端,很多属性,比如阴影渐变什么的,需要按照 ios 和 android 写分平台属性
    LimLim
        20
    LimLim  
       2 天前   ❤️ 1
    推荐 Flutter ,按你的描述来看没啥问题。
    另外,如果不纠结跨平台,其实原生的工作量也没差多少的,画页面啥的 AI 都能干。
    murmur
        21
    murmur  
       2 天前
    @Manweill 我之前调研过 rn ,分卷打包就给我劝退了,用 h5 做分卷跟玩一样,各种方案闭着眼睛用

    expo 支持分卷,但是他的路由和插件封装,还有那套编译又给我劝退了

    而且 rn 还一个问题,就是他插件太依赖 c++代码了,我都怕哪天版本升级突然就编译不过

    vision camera 不就是么,新架构好久才支持的
    Nyeshuai
        22
    Nyeshuai  
       2 天前
    最近的项目用的就是 expo 53 ,ios 搭完环境后续体验算得上良好,没有太多依赖问题,真机和模拟器所见所得程度挺高的。安卓就还是一坨狗屎,会在你觉得正常实现的地方点不动,表现瑕疵,更别提 gradle 这贵物了。
    flutter 本体上手还好,加上生态选择的话完全从零成本真挺高的。现在安卓 google play 没有了上架简单的优势,个人项目真 ios 原生 + 其他全 webview 套壳算了。
    Orangeee
        23
    Orangeee  
       2 天前
    不说自己技术背景不好给推荐,如果熟练 JS/TS ,RN + expo 是最佳选择,expo 让 RN 开发体验好很多;
    如果熟悉 dart ,flutter 是最佳选择;
    目前不推荐 uniapp ,光文档质量和上面都不是一个级别。
    lukailun93
        24
    lukailun93  
       2 天前
    RN 和 Flutter 都可以,上面说 RN 性能不行的,那是之前,现在 RN 性能能优化到接近原生了。
    boyzhang
        25
    boyzhang  
       2 天前
    uniapp
    qweruiop
        26
    qweruiop  
       2 天前
    个人项目,反正都是 ai 写,最近 flutter 和 rn 都各写了一个。
    whj929159021
        27
    whj929159021  
       2 天前
    不考虑小程序,flutter 跨端最优选
    XTTX
        28
    XTTX  
       2 天前
    我写惯了 React+Tailwind , 没有 React Native 基础。 上手 Expo+React native+nativewind, 两个半月。
    https://streamable.com/ejdsri
    我没有用过 Flutter.
    React Native 代码仓多, 生态健全, 动态效果 lib 有 reanimated+skia. Expo 各种 plugin 需要一个个坑踩过去, 做一些简单的 ios widget 连 xcode 都不用打开就能做了。
    poiz
        29
    poiz  
       2 天前
    我司的 rn 已经是一座 x 山了。
    jeffords
        30
    jeffords  
       2 天前
    rn ,小程序可以用京东的 taro ,uniapp 纯 gs
    Manweill
        31
    Manweill  
       2 天前
    @murmur 确实,遇到 c++相关编译不过是挺难处理的,当时我们也是卡着没有继续迭代,只能做其他工作。但是他整个 TurboModule 演进计划都还算平稳,毕竟用爱发电谁都不容易, 。

    expo 的路由本质还是 react-navigation ,基于文件路径注册,总比团队里面的人乱起名字然后还找不到出处的好。分卷这个,我以前应用的版本比较旧,一直没有切换 expo 去深入使用,所以这个我也不太了解,主要还是自己搭建架构的为主
    Manweill
        32
    Manweill  
       2 天前
    我们现在没有用 expo 的路由,是自己改了个 babel 插件来实现基于 react-navigation 的按文件名自动注册路由
    Saigut
        33
    Saigut  
       2 天前   ❤️ 1
    ios flutter 的列表滚动、点击,总感觉有延迟、不跟手,没有 rn 丝滑。你们没有这个感觉吗,还是只是我的错觉?
    SchwarzeR
        34
    SchwarzeR  
       2 天前
    RN 要看对当前技术栈好不好平移
    flutter 战未来
    uniapp 糊弄事找外包专属,上限低一个档次,有追求的绕着走比较好
    Saigut
        35
    Saigut  
       2 天前   ❤️ 1
    ios flutter ,从一个列表点进去,然后返回,接着马上划动列表,此时列表必然划不动。
    试了几个 app 都这样,感觉至少要等个几百毫秒才能滑动。rn 就没这个问题
    ifbluethen
        36
    ifbluethen  
       2 天前
    RN 生态全,不知道全在哪里,UI 库都没一个能真正开箱即用的,有些 package 基于 native 组件,放上来不好调整样式...如果公司有比较标准的团队,然后自己写组件库到是还不错。不然有些公司为了节省成本,只有一个人写,真的难搞,说的就是我...
    wwwcg
        37
    wwwcg  
       2 天前
    起码 Flutter 和 uniappx 别用了,iOS26 液态玻璃一上这俩都要凉
    XTTX
        38
    XTTX  
       2 天前
    @ifbluethen https://reactnativereusables.com/getting-started/introduction/ https://nativewindui.com/ 选型的时候我就买了,主要还是看它样式怎么做到统一的。 成熟的组件都会接受 style/color. 你把自己的颜色丢进去就行了
    zhengfan2016
        39
    zhengfan2016  
       2 天前
    @ifbluethen

    react native paper: ?
    tamagui: ¿

    开箱即用肯定有,要像 shadcn 同等高度自由定制确实没有
    Manweill
        40
    Manweill  
       2 天前
    @XTTX 我现在也在基于 nativewind & tailwindcss 写一套 UI ,不过进度略慢。也在弄一个项目模板(类似于 admin ,或者 boot 之类的),脚手架等,有生之年系列

    @caiyuan @murmur 是的 但是总还是能够统一 UI 风格的,而且只是国内偏好统一风格,外面还是喜欢各自平台各自特色的
    XTTX
        41
    XTTX  
       2 天前
    @Manweill nativewind 这个钱 75 美金不能省, 对我入坑 react native 提速很大。基本样式有了以后可以让 Claude Code 左脚踩右脚。

    expo 的脚手架太难搞了,这两个多月加入太多东西,powersync, i18n, 谷歌登录,revenuecat, auth, 还要对 ios\android 之间还有不同的 plugin 。
    ifbluethen
        42
    ifbluethen  
       2 天前
    @zhengfan2016 这两个都不行,paper 推荐确实挺多的,但样式是 material design 就很麻烦。tamagui 试用过,不记得为啥没用了。
    ifbluethen
        43
    ifbluethen  
       2 天前
    @XTTX 感谢推荐,第二个当时没有见到过。
    lightattractbugs
        44
    lightattractbugs  
       2 天前
    我最近写了两套,都是局域网扫描设备,0 经验,Flutter 使用起来很丝滑(也有 android 底子的原因),导完生成模板直接就是干,RN 那个配置给我整的脑瓜子大了,光是创建项目和跑起来就用 cursor 耗费了一个下午
    realpg
        45
    realpg  
    PRO
       2 天前
    AI 开发 建议 flutter
    这玩意特性过于稳定 AI 写 flutter 准确率高 第三方库支持好
    realpg
        46
    realpg  
    PRO
       2 天前
    @wwwcg #37
    什么时候 app 是靠 ui 风格抢用户的了?
    ninjaJ
        47
    ninjaJ  
       2 天前
    @dssxzuxc Tauri Mobile 能详细分享下经验不,有哪些坑?我用 Tauri 写桌面端爽到了,正考虑移动端呢。
    XTTX
        48
    XTTX  
       2 天前
    @ifbluethen 就是 rnr, nativewind 团队 搞的一个收费 ui 组件。 上手足够快, 不够再去 rnr 捞几个。基本上,我能用到的通用组件就够了。 material design 对比 ios 就是丑一点,两个端, 还要针对 android 进行微调。
    boileryao
        49
    boileryao  
       2 天前
    专门做 App ,对动态能力要求不高,直接选 Flutter 。招人还好,会 vibe coding 慢慢上手也行,嘎嘎猛。
    1. Flutter 性能很好,接近原生;
    2. KMP/RN/uniapp 做不到 UI 一致;
    3. 弄个勉强能用的桌面版/Web 版,Flutter 也可以。
    dabinDev
        50
    dabinDev  
       2 天前
    推荐 flutter 双端效果一致
    xkeyC
        51
    xkeyC  
       2 天前
    @wwwcg https://pub.dev/packages/liquid_glass_renderer

    flutter 可以直接调用 gpu 绘图,跑个 shader 什么的轻轻松松
    wxw752
        52
    wxw752  
       2 天前
    flutter 啊,我们现在全员都能在 ai 的帮助下写,效果还挺好
    ndxxx
        53
    ndxxx  
       2 天前
    楼主这种简单需求,AI + flutter 。
    推荐 AI + 原生是怎么想的我没搞懂。
    SiuRayyy
        54
    SiuRayyy  
       2 天前
    看来大家意见还不统一呢
    dssxzuxc
        55
    dssxzuxc  
       2 天前
    @ninjaJ tauri2.0 稳定版对移动端的支持依旧非常差,很多人连构建一个安卓/IOS 的 helloworld 都会失败。rust/js 对移动端没有多少可用的 api ,很多功能只能写原生代码,web 端和移动端复用逻辑非常困难。一堆构建失败的 issue 都没有解决,碰上了毫无办法。
    ck19920702
        56
    ck19920702  
       2 天前 via Android
    最近准备搞个 app ,已经计划 AI+flutter 了。
    magic3584
        57
    magic3584  
       2 天前 via iPhone
    写过 rn flutter
    结论:不推荐跨平台的。不然等你升级连带着第三方,各种 api 变动那种酸爽。。。
    ninjaJ
        58
    ninjaJ  
       2 天前
    @dssxzuxc #55 感谢佬
    dreamk
        59
    dreamk  
       2 天前
    XTTX
        60
    XTTX  
       2 天前
    @dreamk "哪李贵了, 一直...." 你买 3 个月的, 把代码存一份. 后面项目赚钱了再说吧.
    streamrx
        61
    streamrx  
       2 天前 via iPhone
    选 rn
    lovekernel
        62
    lovekernel  
       2 天前
    我 all in flutter 了
    Ainnlly
        63
    Ainnlly  
       2 天前 via Android
    @niubee1 我现在就是用老技术写的原生,别害人,等到看到上千行的拼接 js 拼接 html 就知道想死了
    Ainnlly
        64
    Ainnlly  
       2 天前 via Android
    @Ainnlly 额,app 啊,对不起,没看清
    AvilCore
        65
    AvilCore  
       2 天前 via Android
    兄弟你调研过吗,你想做第三方 b 站客户端就没想过看看社区的第三方是怎么做的,为什么 pilipala 会用 flutter ,为什么没有 rn 做的第三方视频 app

    rn-video 和 expo-video 这两个视频组件应该都不支持分别的音轨和视频轨,就这一个薄纱视频站第三方应用,因为不碰原生代码根本做不出来

    如果你能做出来这个问题,那么 flutter 和 rn 的主要差距就是需不需要原生渲染-ios26 液态玻璃,其他问题都可以用钱实现

    如果你还有钱方面的考量,去 boss 搜搜 flutter 和 rn 薪资不比葛这问准多了
    uuundefined
        66
    uuundefined  
       2 天前
    只做 IOS 还不如原生。 安卓和 IOS 都做的话 uni 有点老旧,react 其实开发成本挺高的,比较新,老旧设备兼容性差别大。flutter 反倒是最简单的。 开发起来稍微费力点,但是 flutter 相当于自带加密, 节省很多后期成本,APP 加固很贵的
    Hansee
        67
    Hansee  
       2 天前
    我们 all in Flutter
    AvilCore
        68
    AvilCore  
       2 天前 via Android
    大晚上眼睛不好瞎了,这个看 b 站视频原来是看别人的介绍视频。。。

    还是建议按产品需求做调研 没有官方第三方 sdk 要自己写就懵逼了

    比如要做音乐播放器 audio_service 比 expo-audio 领先好几个身位
    RightHand
        69
    RightHand  
       1 天前 via Android
    很简单,需要小程序那就 uni ,有 rn 经验选 rn ,其他无脑选 flutter
    Akay47
        70
    Akay47  
       1 天前
    rn 和 uniapp 都使用过, rn 开发体验很差, 非常不建议使用, uniapp 只适合写小程序, uniappx 也是一样, 这三者之间根本没得选, 只有 flutter 适合正常开发 app, 而且上手非常简单, 就是得稍微注意下代码嵌套, 同样可以写的很优雅
    debuggeeker
        71
    debuggeeker  
       1 天前
    你来这里问,大部分人推荐你跨平台,如果你要打造很好的用户体验,原生是最好的,但是在这里就是不认同的
    yuntun
        72
    yuntun  
       1 天前
    如果你考虑上架应用商店 , 并且打算长期运营你的 app , 就不要考虑 uniapp .

    https://ask.dcloud.net.cn/question/183590
    yuntun
        73
    yuntun  
       1 天前   ❤️ 1
    如果你考虑上架应用商店 , 并且打算长期运营你的 app , 就不要考虑 uniapp .

    https://ask.dcloud.net.cn/question/183590

    2023 年就已经出现的问题 , 到现在还依然存在 , 官方压根不管 , uniapp 官方给出的解决方案就是 , 使用官方推荐的加固 , 加固一次 600 块 , 而且 app 提审并不是百分百通过 , 如果这次加固提审没有通过 , 那 600 块就是打水漂 , 你还得再加固再提审.

    而且用 360 加固也解决不了问题 .

    我现在无比后悔当初为了偷懒选了 uniapp , 现在都打算用原生重新写个了
    Manweill
        74
    Manweill  
       1 天前
    @dreamk 支付一定成本快速启动项目是一个不错的选择,有一定技术能力也可以自己去写一些组件,或者一起在社区内做一些开源项目。

    目前我基于 rn+native+tailwind+tv 写了一套基础组件,然后在整合部分原生组件中,等差不多了就可以丢出来
    gam2046
        75
    gam2046  
       1 天前
    根据有限的经验,除非你有充足的理由,否则不要考虑 uniapp ,当你需要一些与特定平台功能的时候,会比较痛苦。
    niubee1
        76
    niubee1  
       1 天前
    @Ainnlly 我用 cursor 写 APP 就几乎一行代码没写啊,都上架了,就是左一鞭子右一鞭子的抽,比较累。说什么上千行拼接 js ,你描述有问题而已,现在用 AI 开发就跟开车用智能辅助一样的,你要大撒把,撞车了能怪谁
    zenghaojim33
        77
    zenghaojim33  
       1 天前
    在外企,服務過兩個大甲方,都是 React Native 。目前現在的項目有 50+頁面,還是感覺大部分情況下和原生的一樣的流暢
    ala2008
        78
    ala2008  
       1 天前
    flutter 大厂背书,感觉可以的
    bojue
        79
    bojue  
       1 天前
    @BeiChuanAlex 类似拼多多大金主选择没问题,一切都是利弊触发
    maxmax4max
        80
    maxmax4max  
       1 天前
    对于简单的 app 性能上差不多;
    开发效率 flutter ,rn 差不多;
    团队原生多用 flutter ,web 开发多用 rn ;
    只考虑双端用 flutter ,考虑三端及以上用 rn ;
    不考虑热更用 flutter ,考虑热更用 rn 。
    Ainnlly
        81
    Ainnlly  
       1 天前 via Android
    @niubee1 不好意思,看错看错,app 端,主要是工作方面各种 js 拼接 html ,让我属实有点。。不好意思,不好意思
    NewTab12138
        82
    NewTab12138  
       21 小时 31 分钟前
    说开发 flutter 卡顿的大部分都是自己水平太菜导致的, 大部分人的 flutter 都是半路出家,只会写写样式,完全不懂如何优化,一个最简单的 setState 他能放在整个跟布局调用。

    现在除非非常复杂的业务场景 flutter 会卡,正常场景 flutter 完全不卡的好么。
    69partner
        83
    69partner  
    OP
       19 小时 14 分钟前
    非常感谢各位留下的认真评论
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   958 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:37 · PVG 06:37 · LAX 15:37 · JFK 18:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.