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

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

  •  
  •   silolme · 2 days ago · 3667 views

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

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

    60 replies    2026-05-22 16:23:01 +08:00
    Nasdaq
        1
    Nasdaq  
    PRO
       2 days ago
    有硬件交互=原生
    偏动画效果=flutter
    jonty
        2
    jonty  
       2 days ago   ❤️ 1
    个人拙见,既然都纯 vibecoding 了,每个平台开发一个原生的效果应该会更好吧!
    carverReal
        3
    carverReal  
       2 days ago
    有小程序?那可以上 rn 吧
    SilenceLL
        4
    SilenceLL  
       2 days ago
    @jonty 保持一致性可能都很难,尽量搞成一套代码会更好一些。
    SilentOrFight
        5
    SilentOrFight  
       2 days ago
    @jonty #2 是的,1 楼说的“偏动画效果=flutter”,实际情况 Flutter 在中低端 Android 上很卡,别说动画了,没动画都卡。
    chenquanjun
        6
    chenquanjun  
       2 days ago   ❤️ 1
    邪道用游戏引擎写
    Desiree
        7
    Desiree  
       2 days ago
    app 都用 flutter ,小程序用 Uniapp
    CFM880
        8
    CFM880  
       2 days ago
    都 AI 了,那就都原生,主写一个平台,功能拆细一点,后面的用 ai 迁移到另一个平台,AI 很快就能弄好;你可以先尝试找一个开源的 app ,先用 ai 迁移到另一个平台,先练练手
    wjv22019
        9
    wjv22019  
       2 days ago
    借楼,想问问,有没有好用的、开源的安卓脚手架呀?
    alleluya
        10
    alleluya  
       2 days ago
    @SilentOrFight #5 flutter 很吃硬件配置吗
    silolme
        11
    silolme  
    OP
       2 days 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  
       2 days ago
    都 vb 了,android 用 compose ,ios 用 swift , 小程序用原生,先做小程序,再做 android 再做 ios , 如果不是存展示类 App ,RN flutter 都要写 bridge ,如果是 uniapp 也是要插件的,不如一部到位,就是可能非点 token ,主要 android 一定不要用 view 那一套了,写完记得开源出来
    lemontrees
        13
    lemontrees  
       2 days ago
    @susunus 哈哈哈哈写完记得开源出来
    Allvirus
        14
    Allvirus  
       2 days ago
    肯定是 webview 套壳啊 搞笑噢
    remarrexxar
        15
    remarrexxar  
       2 days ago
    小白的话套壳 HTML 吧
    sentinelK
        16
    sentinelK  
       2 days ago
    如果想完全一致,混合应用是最方便的。顺带还解决了热更的问题。代价就是小程序这侧不太支持( API 缺失严重)

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

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

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

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

    并且这个更接近 WEB 技术,可能更适合 vibe
    Rache1
        46
    Rache1  
       1 day ago
    @chenquanjun 之前待过一家公司,App 就是用游戏引擎写的,用的「 Cocos 」
    hjw45611
        47
    hjw45611  
       1 day ago
    我在用 uniappx 写 Harmony+Android ,可以打包成原生代码,但 AI 5 分钟写出来的代码,需要 AI 20 分钟来改代码 bug
    楼上推荐 uniapp 的麻烦推荐一下 AI 工具
    liuliuliuliu
        48
    liuliuliuliu  
    PRO
       1 day ago
    @chenquanjun 懂了,用 unity 写
    ktyang
        49
    ktyang  
       1 day ago
    原生吧,无非就是多烧 token 而已,但是调试还是得自己来。
    libasten
        50
    libasten  
       1 day ago
    我最近用 ai 套壳了一个 h5 ,很是牛逼,以前要给用户啥的发 h5 地址,他们一会在微信里直接打开,有的在 qq 直接打开,体验不好(上下有工具栏状态栏)。
    我现在用了一个 apk 把 h5 页面包进去,挺好。
    要更新,也不要更新 apk ,直接改 h5 ,那边 apk 打开正常用。
    66beta
        51
    66beta  
       1 day ago
    想太多,让 AI 帮你选个方案不就行了,有用户了再谈优化和性能
    lotosbin
        52
    lotosbin  
       1 day ago
    kuikly
    maxmax4max
        53
    maxmax4max  
       1 day ago
    建议不要开发,相关的一门语言都不了解,迭代和修 bug 是个灾难。
    dode
        54
    dode  
       1 day ago
    先做小程序吧,这样全平台先用上,再迭代,加本地 app
    ynxh
        55
    ynxh  
       1 day ago
    app 的话无脑 flutter ,体验不是 uniapp 能碰瓷的
    chengkai1853
        56
    chengkai1853  
       1 day ago
    App 复杂的话,小白就不建议都走原生,Ai 很多时候修不好 BUG 。
    lozzow
        57
    lozzow  
       1 day ago
    我用的 capacitor 哈哈哈,套 webview
    verfino
        58
    verfino  
       1 day ago
    如果是公司做商业化项目做 MVP ,老老实实的用 uniapp 做;

    如果是自己体验,那就见仁见智了
    kangyangqishi
        59
    kangyangqishi  
       1 day ago
    flutter 有个 MPFlutter 也能开发小程序
    HTravel
        60
    HTravel  
       20h 28m ago
    我以前自己写了个 web 版的音乐播放器,后来有 AI 后让 AI 给我增强成了更易用、功能更多的新版,然后两个版本并行,老版本职责就是广覆盖,解决在极老浏览器上听歌问题。

    然后让 AI 把该 web 播放器移植成了 iOS 和 Android 原生版,目的是为了解决车载电脑上可以方向盘切歌、可以显示封面大图问题。初始目的也包括搞定蓝牙和 CarPlay 在 HUD 的播放队列上选歌,但最终发现蓝牙协议不支持、CarPlay 不对个人、小公司开放 app 权限。然后发现几百首歌的页面,iOS 和 Android 原生滚动居然都卡顿。告诉 AI 别在 UI 线程下载封面图什么的,尽可能放到其他线程,只能说优化后有效果,但不多。

    于是让 AI 进一步给我做了 Hybrid 版的 iOS 和 Android 播放器。滚动终于无比丝滑了。

    于是我现在有了 6 款音乐播放器。

    反正 AI 时代富甲宇宙,谁还差钱啊,国内外总有各种免费 AI 可用,往原生极致了玩就是了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2874 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 170ms · UTC 04:51 · PVG 12:51 · LAX 21:51 · JFK 00:51
    ♥ Do have faith in what you're doing.