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

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

  •  
  •   whywei8 · Apr 2, 2024 · 9679 views
    This topic created in 954 days ago, the information mentioned may be changed or developed.

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

    49 replies  •  2025-02-16 15:21:50 +08:00
    5I4v7N4CPSlF03tx
    5I4v7N4CPSlF03tx
    Apr 2, 2024 via Android
    1
    win mac 安卓,坑少,处处运行,少修改

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

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

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

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

    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
    skymanv2
    Nov 13, 2024
    43
    @akaHenry 你的答案比较全,比较好,请问你最后选择了什么方案呢?
    akaHenry
    akaHenry
    Nov 14, 2024
    44
    @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
    skymanv2
    Nov 16, 2024
    45
    @akaHenry 感谢,我也决定用 Tauri 和 ArkUI-X
    vectorization
    vectorization
    Jan 21, 2025
    46
    我来补充一些跨平台框架需要评估的点:

    1. 动态化:
    Flutter 是可以跨平台的,但是没有官方的动态化方案,业界动态化方案很多,但是基本处于自用,对外只有宣传 PR 的效果,腾讯有个 conch 的高性能动态化方案,应该是市面上屈指可数的基于虚拟机指令的动态化方案。
    https://shiply.tds.qq.com/docs/doc?id=4012359582

    2. 持续部署:
    动态化的下一步就是实现持续部署,也叫热更新。这需要一个强大的客户端资源发布平台,市面上几乎没有选择,腾讯的 Shiply 平台对跨平台产物热发布支持的不错,能够差量更新和灰度发布。

    大部分团队只实现了跨平台开发节省人力,但是动态化和持续部署受限于团队规模,没有经历持续投入,这块可以看看成熟的大厂解决方案。
    vectorization
    vectorization
    Jan 21, 2025
    47
    @vectorization 补充一个 Shiply 平台链接: https://shiply.tds.qq.com/
    lijie33402
    lijie33402
    Feb 2, 2025
    48
    @akaHenry 请问下 arkui-x 现在成熟吗?是不是还属于 ppt 阶段
    akaHenry
    akaHenry
    Feb 16, 2025
    49
    @lijie33402 #48

    官方提供多个 arkui-x 的 demo, 包括多页面, 日常的 电商, 新闻类 App 的模板页的示例.

    我编译 + 安装到 Android 手机, 实测效果, 体验挺流畅.

    我并没有用 arkui-x 开发比较大的 App, 无法给你一手体验.


    不过, 这算华为主推的跨平台解决方案, 原因:

    1. 华为也要适配自己老的 Android 设备, 跨平台是自身刚需.

    2. 吸引其他平台的 App 能够更多迁移到 鸿蒙 next 上, 有足够的动机, 来兼容其他平台.

    3. 新增 app 开发, 不会有开发者会为了他一个平台, 单独搞一套.(市场份额决定)


    综上推理, 可以分析, arkui-x 不会是个 KPI 方案, 反而是决定能否吸引到开发者的决定成败的方案.

    我个人不认为是 PPT 方案. (官方文档非常详细)

    一家之言, 仅供参考.

    如果是从 0 到 1 的新项目, 可以尝鲜.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1060 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 101ms · UTC 18:29 · PVG 02:29 · LAX 10:29 · JFK 13:29
    ♥ Do have faith in what you're doing.