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

2024 年了,跨平台开发框架有啥推荐的吗

  •  
  •   whywei8 · 260 天前 · 5507 次点击
    这是一个创建于 260 天前的主题,其中的信息可能已经有所发展或是发生改变。

    要求支持 WIN ,MAC ,安卓,坑少点就行。 想着开发一次,处处能运行的,或少量修改就行运行的。 那些独立开发者多平台开发用的啥框架呀。

    45 条回复    2024-11-16 11:57:55 +08:00
    5I4v7N4CPSlF03tx
        1
    5I4v7N4CPSlF03tx  
       260 天前 via Android
    win mac 安卓,坑少,处处运行,少修改

    就是你了,html ,js ,css 一把梭

    放弃吧,跨平台哪家都不少坑
    geekjoehome
        2
    geekjoehome  
       260 天前
    Kotlin Multiplatform
    facebook47
        3
    facebook47  
       260 天前 via Android
    Web
    e7
        4
    e7  
       260 天前
    2 次能不能接受,electron+flutter
    shinyzhu
        5
    shinyzhu  
       260 天前
    最近在看 Web Assembly 。
    jgh004
        6
    jgh004  
       260 天前   ❤️ 1
    阿瓦龙
    twing37
        7
    twing37  
       260 天前
    你的技术栈是什么,就往哪边靠.
    bianhui
        8
    bianhui  
       260 天前
    uniapp ?
    lllllliu
        9
    lllllliu  
       260 天前
    Flutter
    macaodoll
        10
    macaodoll  
       260 天前 via Android
    javaswing 套壳 chrome
    ynxh
        11
    ynxh  
       260 天前
    electron+flutter
    subframe75361
        12
    subframe75361  
       260 天前 via Android
    tauri 能跑,就看你敢不敢上生产
    Imindzzz
        13
    Imindzzz  
       260 天前 via Android
    跨移动和 pc ?那要搞两个项目,
    移动用 React native,
    PC 用 electron+ react
    因为 UI 是 React 写的,两个项目可以用同一份代码( ui 搞成一个 npm 包)
    lstz
        14
    lstz  
       260 天前 via Android
    如果你是公司项目,求稳还是上 electron
    laters
        15
    laters  
       260 天前   ❤️ 1
    移动端 flutter
    PC electron
    sxms77777
        16
    sxms77777  
       260 天前
    KMM
    songunity
        17
    songunity  
       260 天前
    unity
    zzzmh
        18
    zzzmh  
       260 天前
    开发 3 遍,妹开玩笑,也许这才是最优解
    Curtion
        19
    Curtion  
       260 天前
    既支持电脑端也支持手机端,还要同一个技术栈. 那么有 C#的.NET MAUI, Dart 的 Flutter, JS 的 Webview, Kotlin 的 KMP, 当然还有 Rust 的 Tauri v2,但是正式版还没有发布可以先观望. 使用什么取决于你的技术栈是什么, 性能要求是怎么样的
    janus77
        20
    janus77  
       260 天前   ❤️ 2
    应该只有 flutter 能用,不是坑多少的问题,是可用的只有这一个。。。其他的要么还在实验性阶段,要么支持平台不够多,或者某一个平台支持还在实验性阶段
    jlkm2010
        21
    jlkm2010  
       260 天前
    当下的话,两个选择:
    1. web 那套
    2. flutter
    loshine1992
        22
    loshine1992  
       260 天前
    只有 Flutter
    leegoo
        23
    leegoo  
       260 天前
    flutter 挺好的,插件很丰富,对于 android 和 ios 不熟悉的人也可以快速开发,
    但是如果需要网页功能(我指的是管理后台)的话,flutter 目前开发效率比较低,用 vue(我只用过这个哈)效率会高很多。
    既然做独立开发,那么开发效率是需要考虑的
    sxx97
        24
    sxx97  
       260 天前
    试试 Dioxus🤓
    lujiaxing
        25
    lujiaxing  
       260 天前 via Android
    Electron + Cordova
    hugebug
        26
    hugebug  
       260 天前
    @subframe75361 android 跟 ios 我都没跑起来 用的 v2
    ajaxgoldfish
        27
    ajaxgoldfish  
       260 天前 via Android
    不要觉得套 web view 就是 low ,目前仍是最优解。
    wangtian2020
        28
    wangtian2020  
       260 天前
    https://quasar.dev/start/quick-start
    quasar 框架就是设定上一个框架一套代码 electron 和 cordova 都能跑
    electron 跑 PC 端,自己写 cordova 插件调用安卓原生 API 。保证你绝对不会遇到任何不能解决的坑,因为都是调用的系统原生 API 想怎么改就怎么改
    leehome
        29
    leehome  
       260 天前
    electron + flutter
    kaminic
        30
    kaminic  
       260 天前
    我们使用 flutter 做过两个跨平台产品
    一个是简化版 pptx 编辑器,支持 web 、pc 和移动端
    一个是 卡拉 OK 产品,支持 pc 和移动端

    可用性上完全没有问题,没有遇到不可解决的坑

    只有一个在 PC 上动画抖动的问题,提交 issues 被确认了,但是解决时间遥遥无期,我们修改引擎临时方案解决的
    whywei8
        31
    whywei8  
    OP
       259 天前
    看来看去,还是至少 要写两遍 electron + flutter 也就是 PC ,移动端。
    qianji201712
        32
    qianji201712  
       259 天前
    Flutter 目前 Android iOS Win Mac 都同时发布
    beginor
        33
    beginor  
       259 天前 via Android
    .Net + Avalonia
    ARIInV2
        34
    ARIInV2  
       259 天前
    RN
    NewTab12138
        35
    NewTab12138  
       259 天前
    移动端直接 flutter ,pc 看需求,简单的可以 flutter 一把梭
    laters
        36
    laters  
       259 天前
    @whywei8 如果简单的 flutter 可以直接撸 桌面端, 但 web 最好还是 vue 这种
    whywei8
        37
    whywei8  
    OP
       259 天前
    @beginor 太小众了吧
    whywei8
        38
    whywei8  
    OP
       259 天前
    @twing37 主要是如果能一次开发。多平台发布 技术栈这个可以学新的。
    whywei8
        39
    whywei8  
    OP
       259 天前
    @qianji201712 好的,谢谢,看到最多回复的 是 Flutter 。
    piscesq329a
        40
    piscesq329a  
       181 天前
    KMP 怎么样,大家有实践过吗?
    benG
        41
    benG  
       93 天前
    怎么都没有提到 ArkUI-X ?我来补充一下:华为跨平台方案 ArkUI-X 初探 https://github.com/DZby1990/ArkUI-X-Survey-Repoet
    akaHenry
        42
    akaHenry  
       56 天前
    我比较关注的方案:

    1. Tauri 2.0, 支持 desktop(macOS, Windows, Linux) + mobile ( iOS, Android) 跨平台, 偏前端方案。

    2. 鸿蒙 ArkTS + ArkUI + ArkUI-X(跨平台),支持 moible ( iOS, Android, 鸿蒙 5.0 ),偏前端方案。

    3. Kotlin + Kotlin Multiplatform(KMP + KMM),支持 desktop + mobile 跨平台,能力完备,偏原生方案。

    4. C# + Unity , 支持 mobile ( iOS, Android), 偏游戏开发,不适合常规 app UI 交互。

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

    不推荐的方案:

    1. Flutter ,相比上述方案,有明显短板.(原因很多,不赘述,flutter 是我唯一觉得投资失败的技术栈, 收益极低)

    2. Electron ,有争议,用的人很多,但我个人不喜欢。( Tauri 解决不了的,换其他,我也不用)

    2. Qt 类( PyQt 等),跨端的平台多,开发效率和兼容性,都跟不上,能接受 qt ,大概可以看看 Kotlin 方案。

    3. 其他未提到的: React Native, Wails(go+js), NiceGui(python+js).

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

    技术方案投资,关注点 & 指标:

    1. 好爹(爹不行,后继乏力,爹不靠谱,不兼容升级太多,都别用)

    2. 技术品味 & 技术先进性(性能合格,开发效率够高,易于复用 & 易于迁移 or 移植他领域)

    3. 符合市场发展趋势(注意是市场, 市场, 市场!)

    4. 生态完备度(插件库够多,易于移植/白嫖其他生态,易于造轮子)

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

    拿这些指标,反复检验如上技术栈,评估符合自己需求的技术,做技术投资 & 技术储备。

    选对方向,早做投资,早吃红利。
    skymanv2
        43
    skymanv2  
       35 天前
    @akaHenry 你的答案比较全,比较好,请问你最后选择了什么方案呢?
    akaHenry
        44
    akaHenry  
       33 天前
    @skymanv2 #43

    新增一个方案 flet:

    https://github.com/flet-dev/flet


    我是在使用多个方案: Tauri, Flet, ArkTS+ArkUI-X, Kotlin.

    根据具体场景, 选择适合的方案.

    Tauri: 嫖 rust + js 库时使用. 搭配 vue.js 快速糊 GUI 小工具.

    Flet: = Python+Flutter. 单纯的 Flutter 不建议使用, 没有太大优势. 但是 flet, 可以用. 这个是白嫖 flutter 的绘图能力, 100% python 代码写应用. 利用 flutter 的能力, 糊个漂亮的 gui 还是很轻松的. python 库也最多, 最方便.

    ArkTS: 技术储备, 为华为鸿蒙开发原生应用首选. 配合 ArkUI-X 跨平台能力也是完备的. 本身大量"借鉴/抄" flutter + kotlin 等特性, 熟悉 flutter, 上手也很快.


    Kotlin: 备胎方案, 以上方案不满足的时候, 考虑. (本身跨平台能力也完备, 至少 Desktop 生态比较弱)
    skymanv2
        45
    skymanv2  
       32 天前
    @akaHenry 感谢,我也决定用 Tauri 和 ArkUI-X
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5460 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:49 · PVG 14:49 · LAX 22:49 · JFK 01:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.