• 请不要在回答技术问题时复制粘贴 AI 生成的内容
silolme
V2EX  ›  程序员

小白想问个跨平台开发 app 的问题,请指教

  •  
  •   silolme · 15h 14m ago · 3043 views

    是这样的,我想开发一款 app ,同时运行在安卓和 ios 上,以后可能还有小程序版本,我准备用 codex 写,想请教下: 直接让他用跨平台的语言写,比如 flutter,RN ? 还是用 swift 写一个 ios 的版本,然后都写完了再让他翻译成 android 原生? 或者还有更合适的方法?

    本人对上面的语言都不了解,所以最合适的推荐是?感谢!

    57 replies    2026-05-21 22:57:06 +08:00
    liu731
        1
    liu731  
    PRO
       15h 13m ago
    有硬件交互=原生
    偏动画效果=flutter
    jonty
        2
    jonty  
       15h 6m ago   ❤️ 1
    个人拙见,既然都纯 vibecoding 了,每个平台开发一个原生的效果应该会更好吧!
    carverReal
        3
    carverReal  
       15h 3m ago
    有小程序?那可以上 rn 吧
    SilenceLL
        4
    SilenceLL  
       15h 3m ago
    @jonty 保持一致性可能都很难,尽量搞成一套代码会更好一些。
    SilentOrFight
        5
    SilentOrFight  
       14h 56m ago
    @jonty #2 是的,1 楼说的“偏动画效果=flutter”,实际情况 Flutter 在中低端 Android 上很卡,别说动画了,没动画都卡。
    chenquanjun
        6
    chenquanjun  
       14h 55m ago   ❤️ 1
    邪道用游戏引擎写
    Desiree
        7
    Desiree  
       14h 52m ago
    app 都用 flutter ,小程序用 Uniapp
    CFM880
        8
    CFM880  
       14h 48m ago
    都 AI 了,那就都原生,主写一个平台,功能拆细一点,后面的用 ai 迁移到另一个平台,AI 很快就能弄好;你可以先尝试找一个开源的 app ,先用 ai 迁移到另一个平台,先练练手
    wjv22019
        9
    wjv22019  
       14h 46m ago
    借楼,想问问,有没有好用的、开源的安卓脚手架呀?
    alleluya
        10
    alleluya  
       14h 35m ago
    @SilentOrFight #5 flutter 很吃硬件配置吗
    silolme
        11
    silolme  
    OP
       14h 34m ago
    多谢楼上各位的回答,看来 flutter 和原生开发好像都是可以的,大家也有不同意见,发帖后我又问了下 codex ,他是这么回答的:
    ----------------------------------------------------
    如果你想同时跑在 Android 和 iOS 上,通常有这几种主流选择:

    最推荐给新项目的跨平台方案:

    Flutter / Dart

    一套代码同时开发 Android 和 iOS
    UI 表现一致,性能好
    适合从 0 开始做 App 、工具类、商城、内容类、管理系统等
    语言:Dart
    React Native / JavaScript 或 TypeScript

    也是一套代码跨 Android/iOS
    如果你或团队熟悉前端,学习成本低
    生态成熟,适合和 Web 项目共用部分技术栈
    语言:JavaScript 或更推荐 TypeScript
    原生开发方案:

    Android 原生

    语言:Kotlin
    性能和系统能力最好,但只能做 Android
    iOS 原生

    语言:Swift
    体验最好,但只能做 iOS
    如果你是一个人或小团队,想尽快做出 Android + iOS ,我会优先建议:

    Flutter + Dart

    原因很直接:跨平台体验好,UI 稳定,开发效率高,发布 Android/iOS 都比较顺。
    如果你本身已经会前端,那可以考虑 React Native + TypeScript 。

    -------------------------------------------------

    哈哈,我再考虑下
    susunus
        12
    susunus  
       14h 24m ago
    都 vb 了,android 用 compose ,ios 用 swift , 小程序用原生,先做小程序,再做 android 再做 ios , 如果不是存展示类 App ,RN flutter 都要写 bridge ,如果是 uniapp 也是要插件的,不如一部到位,就是可能非点 token ,主要 android 一定不要用 view 那一套了,写完记得开源出来
    lemontrees
        13
    lemontrees  
       14h 18m ago
    @susunus 哈哈哈哈写完记得开源出来
    Allvirus
        14
    Allvirus  
       14h 17m ago
    肯定是 webview 套壳啊 搞笑噢
    remarrexxar
        15
    remarrexxar  
       14h 12m ago
    小白的话套壳 HTML 吧
    sentinelK
        16
    sentinelK  
       14h 10m ago
    如果想完全一致,混合应用是最方便的。顺带还解决了热更的问题。代价就是小程序这侧不太支持( API 缺失严重)

    如果想体验最好,各自平台一份原生是最理想方案,你维护一份功能定义和产品设计文档,然后各自实现。

    跨平台语言框架在现今来看,性价比不高。
    1 、各自平台还是要各自匹配特性。只有逻辑和 UI 代码可以共用。
    2 、性能不强。
    3 、如果考虑跨到小程序,好像只有 uniapp 能符合吧?
    f5a599
        17
    f5a599  
       14h 7m ago
    不要用原生,iOS 开发的 vibe coding 是个灾难
    Hilong
        18
    Hilong  
       14h 5m ago
    别搞那么多版本,就 uniapp 一把梭,别听那些人有 vibe 就都搞原生,每个版本的兼容性都要搞死人。
    flytsuki
        19
    flytsuki  
       14h 2m ago
    你要是给普通用户使用没什么调用硬件的用 uniapp 糊弄一下就行了;好一点就是 uniapp 写小程序,flutter 写 app
    TimPeake
        20
    TimPeake  
       14h 1m ago
    最近刚 vibe 了 app ,类似 nas 音影的那种,用的 flutter ,个人感觉体验很好。
    piaomiao0315
        21
    piaomiao0315  
       13h 52m ago
    月初刚刚上线了一款 web 后台,小程序用户,双端 app 服务方的应用。
    模型用的 claude 4.5 ,先创建了后台并对应生成 api 文档,小程序是原生的,双端 app 用的 flutter ,整体下来还是挺顺利的,flutter 对于手机权限的适配还是很超乎意料的,本来觉得会在定位和后台运行上占用大量调试时间。
    lancevps
        22
    lancevps  
       13h 39m ago
    我觉得用 expo 开发 iOS 和安卓,然后让 AI 把 expo 的 react 代码转成 taro 小程序
    susunus
        23
    susunus  
       13h 38m ago
    @Hilong 先手动友善,想问下您这里说的版本兼容,是什么兼容。
    susunus
        24
    susunus  
       13h 36m ago
    @remarrexxar 套壳要处理和原生之间的 bridge 交互,还是需要一个跨端的壳子或者原生的壳子,可能还有有 ios 上架的困难
    Hilong
        25
    Hilong  
       13h 35m ago
    @susunus 首先你的 UI 得保持一致性吧。这个就得调死人。另外各个原生版本的代码都要处理各家的设备兼容性。各种权限啊,通知之类的。真正开发的时候你就知道了
    vfs
        26
    vfs  
       13h 34m ago
    个人感觉,你每个平台都写原生的,即使用 AI ,也能把你进度拖死,不建议。 应该挑选尽可能跨平台的技术
    susunus
        27
    susunus  
       13h 33m ago
    @Hilong #25 UI 完全没有必要高度一致,适配各个系统的风格,比如 MD 或者 HIG
    susunus
        28
    susunus  
       13h 30m ago
    @Hilong #25 另外,你说的权限,通知这些原生才是最好处理的,如果是跨端要么你通过 bridge ,调用原生写,要么你用三方库,这里的三方库才是最坑的,RN 和 flutter 都有大量的不再维护的主流库
    zmfang1995
        29
    zmfang1995  
       13h 21m ago
    还要考虑鸿蒙 next 的话,建议还是 uniapp 吧,目前我感觉没有更好方案在三端和小程序之间都兼容。
    BruceXu
        30
    BruceXu  
       13h 11m ago
    如果只是 android+ios.可以考虑 flutter

    但是如果还有微信小程序..那就 uniapp.3 平台可用.
    fushy
        31
    fushy  
       13h 5m ago
    compose 跨平台试试,AI 写的话也不用多懂代码
    ca2oh4
        32
    ca2oh4  
       13h 2m ago
    基于需求做技术选型,要考虑需求的场景
    SchwarzeR
        33
    SchwarzeR  
       13h 1m ago
    flutter 属于是除了多了一个 dart 的学习成本外(我个人评价为 java 样子的 typescript ),综合心智负担、历史包袱、生态支持相对更能让人写下去的了
    yaorc
        34
    yaorc  
       12h 52m ago
    flutter 一把梭
    MacsedProtoss
        35
    MacsedProtoss  
       12h 45m ago via iPhone
    flutter 在 iOS 上用户体验一坨💩 只有搞安卓的人才喜欢这破玩意
    yoyoyoyolol
        36
    yoyoyoyolol  
       12h 42m ago
    肯定得用跨平台框架,写个 ios 端原生再翻译成安卓的话,随着你业务的复杂问题越来越多,不一定能给你实现一样的效果。使用跨平台框架的缺点就是使用不到 ios 原生的效果比如液态玻璃之类的。
    kamisamayo
        37
    kamisamayo  
       12h 41m ago
    独立开发我觉得 rn 吧。。。我也纠结过,我还把我 rn 写的代码,让 ai 给我用 flutter 写。写的效果不如 rn ,测试也更麻烦。主要是 ai 对于 js/ts 最熟悉,第一梯队,会少出错。
    不过如果你本身这些语言,架构都熟悉,那每套原生也可以。就是耗费时间多+token 多。前期还是验证需求有没有市场更有价值。
    icanfork
        38
    icanfork  
       12h 40m ago
    让 codex 给你重写一个其他语言的客户端,也就是一周额度的事情。
    silolme
        39
    silolme  
    OP
       12h 36m ago
    没想到这个帖子这么多人回复哈,谢谢各位大佬,目前看来两种方案,一个是 flutter ,开发小程序再转成原生写一次,还有一种是直接 uniapp ,就是不知道 vibe 用 uniapp 会不会有什么坑,我觉得可以试一下哈
    sodesga
        40
    sodesga  
       12h 34m ago
    要看你的 app 的类型的,譬如相机类,对原生要求比较高的,flutter 只适合用来做壳,背后还是原生组件啊!
    简单的就直接 uniapp 一把梭!
    Aaron36
        41
    Aaron36  
       12h 23m ago
    @chenquanjun 这确实很邪道了。我之前只做过用原生写得像游戏的 app 。全篇到处都是 lottie 做的动画,又要适配屏幕尺寸,又要动画元素和其他动画元素对齐。。。
    yufeng0681
        42
    yufeng0681  
       12h 20m ago   ❤️ 2
    你心大了。 试水都是先开发 小程序版本, 小程序本来就是跨平台的, 也有社交推广的能力。也不需要额外的鉴权。
    等你真能做起来业务,发现必须有 app 了,才去落地 app

    一上来就是宏大叙事,业务啥的没想清楚,被迫沉浸在 app 端的开发上, 属于主次不分吧
    james2013
        43
    james2013  
       11h 5m ago via Android
    准备用 codex 开发的话,建议原生 app ,把开发需求搞明确具体,vibecoding 一把梭 doge
    icyalala
        44
    icyalala  
       10h 47m ago
    上面讨论那么多各说各的,是立场不同
    如果你的立场是站在用户,是保证用户体验,那就原生。没有用户喜欢蹩脚的跨平台体验
    如果你的立场是站开发者,保证开发一致性,节省人力和时间,那就 Flutter/RN
    Imindzzz
        45
    Imindzzz  
    PRO
       10h 40m ago
    uniapp 啊,你想一套代码三端,这是唯一选择。

    并且这个更接近 WEB 技术,可能更适合 vibe
    Rache1
        46
    Rache1  
       10h 17m ago
    @chenquanjun 之前待过一家公司,App 就是用游戏引擎写的,用的「 Cocos 」
    hjw45611
        47
    hjw45611  
       10h 4m ago
    我在用 uniappx 写 Harmony+Android ,可以打包成原生代码,但 AI 5 分钟写出来的代码,需要 AI 20 分钟来改代码 bug
    楼上推荐 uniapp 的麻烦推荐一下 AI 工具
    liuliuliuliu
        48
    liuliuliuliu  
    PRO
       10h 3m ago
    @chenquanjun 懂了,用 unity 写
    ktyang
        49
    ktyang  
       9h 57m ago
    原生吧,无非就是多烧 token 而已,但是调试还是得自己来。
    libasten
        50
    libasten  
       9h 39m ago
    我最近用 ai 套壳了一个 h5 ,很是牛逼,以前要给用户啥的发 h5 地址,他们一会在微信里直接打开,有的在 qq 直接打开,体验不好(上下有工具栏状态栏)。
    我现在用了一个 apk 把 h5 页面包进去,挺好。
    要更新,也不要更新 apk ,直接改 h5 ,那边 apk 打开正常用。
    66beta
        51
    66beta  
       9h 36m ago
    想太多,让 AI 帮你选个方案不就行了,有用户了再谈优化和性能
    lotosbin
        52
    lotosbin  
       9h 16m ago
    kuikly
    maxmax4max
        53
    maxmax4max  
       7h 58m ago
    建议不要开发,相关的一门语言都不了解,迭代和修 bug 是个灾难。
    dode
        54
    dode  
       7h 51m ago
    先做小程序吧,这样全平台先用上,再迭代,加本地 app
    ynxh
        55
    ynxh  
       7h 35m ago
    app 的话无脑 flutter ,体验不是 uniapp 能碰瓷的
    chengkai1853
        56
    chengkai1853  
       6h 47m ago
    App 复杂的话,小白就不建议都走原生,Ai 很多时候修不好 BUG 。
    lozzow
        57
    lozzow  
       1h 52m ago
    我用的 capacitor 哈哈哈,套 webview
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1496 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 139ms · UTC 16:49 · PVG 00:49 · LAX 09:49 · JFK 12:49
    ♥ Do have faith in what you're doing.