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

多端 GUI 真的没有银弹吗

  •  
  •   Leon6868 · Jul 2, 2025 · 17545 views
    This topic created in 491 days ago, the information mentioned may be changed or developed.

    关注多端 GUI 解决方案将近十年了。

    十年来,像 RN 、Flutter 这样的自绘 UI 不少,大多都是昙花一现。

    当前无论做什么应用,一旦涉及到多端,最终都会回到 Web 技术栈。但是 Web 也没有真正通用的标准。一些美好的规范,像 PWA ,早已做土;反而 Cordava 倒是在不温不火地发展。

    唯一能满足『 Write once, run anywhere 』的只有 Electron 等 CEF 框架或者近几年兴起的 Tauri 等 Webview 框架,赋予 Javascript 原生能力,即兼顾开发速度,也有充实的生态。

    很好奇,图形界面出现四十多年了,Web 时代也有快二十年了,手机也诞生十五年了,但是为什么 GUI 还没有大一统的解决方案?

    GUI 真的没有银弹吗?

    Supplement 1  ·  Jul 21
    一年后挖坟,现在技术栈为:
    - web
    - flutter

    这两个都非常适合 vibe coding ,跨平台能力也还行。我的场景对动画和美工要求比较高,之后看情况可能 all in flutter ,也可能 flutter 作为移动端,web 作为桌面端开发。
    127 replies  •  2026-07-22 09:24:27 +08:00
    1  2  
    ❮ ❯
    Daming
    Daming
    Jul 3, 2025
    101
    Avalonia ,不比 shit 一般的套壳 chrome 好?
    skallz
    skallz
    Jul 3, 2025❤️1
    102
    @Torpedo 这点我就很佩服拼夕夕,拼夕夕实际上也是混开,用了大量的 webview ,这个已经有很多人解析过了,但是人家做到的流畅程度真不像是一个混开应用,像是纯原生,目前都不知道这么牛逼的优化是怎么做到的,他们技术团队也没开源。。。
    agagega
    agagega
    Jul 3, 2025
    103
    同一套代码跑不同平台的最优解就是 Web 。

    如果不喜欢 Web ,也意味着最好别希望用同一套代码。各个平台的 native UI toolkit 也不可能是一致的,而因为原生软件一般还要依赖不少系统功能,所以哪怕是 Qt 这种自绘的很多时候还是要每个平台写一点具体的代码。

    实际上我觉得都大模型时代了,更好的解法也许是针对项目需求针对性设计下,依赖倒置,把每个平台的 UI 都做成框架,然后交给 AI 去实现。
    BingoXuan
    BingoXuan
    Jul 4, 2025❤️2
    104
    @lawfun
    因为客户需要实时渲染 300 个信号,每个信号 1M 采样点。我研究和尝试很多方案。原生 macOS+metal 渲染开发效率太低做不来。imgui 因为是 immediate 渲染的,所以每次都要重建渲染 command 导致性能损耗太大。web 方案中,我尝试了 regl 渲染或者 p5js 渲染。目前选择了 uplot 渲染,并降低更新频率。gui 坑太大了,整个过程可以说是把 gpu 渲染和不同 gui 底层逻辑都搞清楚。后期有空我打算写一个 gpu 加速的 js waveform 库。
    lawfun
    lawfun
    Jul 4, 2025
    105
    @BingoXuan 感谢分享,大佬厉害了。
    iorilu
    iorilu
    Jul 4, 2025
    106
    所谓多端我觉得要把桌面和移动区分开

    我不觉得以后有任何软件框架能完美覆盖桌面和移动

    如果区分开

    反正桌面吗, electron 和 tauri 我觉得还不错了, web 技术以后肯定也是主流, 要么喜欢成熟老技术就 qt ,其他就算了
    Torpedo
    Torpedo
    Jul 4, 2025
    107
    @skallz #102 如果用离线的 hybrid ,做到这个还是比较容易的。另外多多管理能力强,app 不臃肿。很多大厂是 app 太臃肿了,啥技术也没用,都卡
    Leon6868
    Leon6868
    OP
    Jul 4, 2025
    108
    @BingoXuan #104 太巧了,我也在做类似的项目,我做的是大约 7M 数据点的时频阈分析,这种规模的数据前端确实难以处理,目前是用 pyqt 展示的
    debuggerx
    debuggerx
    Jul 4, 2025
    109
    虽然还谈不上银弹,但是很多框架实际上已经做得很好了,只是太多人抱着固有成见不愿意承认罢了。
    SilentOrFight
    SilentOrFight
    Jul 4, 2025
    110
    @Torpedo #90 我说的 cdn 是图片放到 cdn 做多区域节点加速访问,现在有些官方活动页图片还是放在服务器上,带宽又小,多个人访问就炸了
    BingoXuan
    BingoXuan
    Jul 4, 2025
    111
    @Leon6868
    pyqt 还算可以的方案。可惜我们客户对依赖的 license 要求很严格。lgpl 这种都不允许。不涉及多信号渲染的话,我认为 imgui 的 python binding 反而更合适,比如 dearpygui 。
    soloV2
    soloV2
    Jul 4, 2025❤️1
    112
    Avalonia ,和 flutter 一样自绘, 语法是 C#, 一套代码跑全平台, 更偏向桌面端
    Arthur2e5
    Arthur2e5
    Jul 4, 2025
    113
    @Removable 跟随夜间模式是所有网站的特性,不是 PWA 的特性。让 PWA 能变成 Application 而不只是一个快捷方式的是本地存储、Service Worker 、通知之类的东西
    qwasfun
    qwasfun
    Jul 4, 2025
    115
    没有大一统,端想自成一派
    qwasfun
    qwasfun
    Jul 4, 2025
    116
    没有银弹,端想自成一派
    naythefirst01
    naythefirst01
    Jul 5, 2025
    117
    我觉得可以先考虑让 OS 大一统
    xingheng
    xingheng
    Jul 5, 2025
    118
    @naythefirst01 OS 大一统永远都不可能,不过创建一个新的 UI 框架协议层还是可以有的。
    hronro
    hronro
    Jul 8, 2025
    119
    @Leon6868 #10
    怎么会没本质区别呢?原生最重要的就是原生 UI 组件,至于布局怎么实现的,对用户而言根本不重要,但是否使用了原生 UI 组件,用户是能感知出来的。
    Leon6868
    Leon6868
    OP
    Jul 21
    120
    @BingoXuan #104 还是回到 web 的怀抱了。现在是基于 https://github.com/tomsoftware/webgl-chart 实现了 LOD 和 2d sfft 展示。还得是 webview 好用
    Leon6868
    Leon6868
    OP
    Jul 21
    121
    @w568w #97 一年之后挖坟,flutter 确实一直在发展,也算是多端全部都兼容,越来越强了,之后打算尝试 flutter 开发
    BingoXuan
    BingoXuan
    Jul 21
    122
    @Leon6868
    去年就用 webgl shader 实现了一个实时波形渲染,300 个信号,信号长度 2k ,120fps 点毫无压力。web 反馈回环非常快,AI 很擅长的。如果 AI 就是一个 compiler ,那么任何框架都不重要
    Leon6868
    Leon6868
    OP
    Jul 21
    123
    @BingoXuan #122 是的,webgl shader 非常强劲,有个小问题是只支持 32 位 float ,目前我采用混和渲染的方式规避了这个问题,之后可能切换到 webgpu 。现在框架的地位更像是节省 token 的办法,毕竟很多充满细节的成熟设计要 vibe 还是很麻烦的。请问你现在对于 web 是如何达成回环的呢,采用多模态模型吗?
    BingoXuan
    BingoXuan
    Jul 21
    124
    @Leon6868
    skill+多模态+playwright 能加速回环。小模型可以用来验证流程和细节提供相关信息,大模型负责实现。
    w568w
    w568w
    Jul 22
    125
    @Leon6868 嗯,现在用 Flutter 的人也越来越多了,不过好像基本都是因为 Vibe Coding 方便入股的。

    比较担忧未来的 Flutter 插件的代码质量。AI 开始入场之前,平均质量就够低了……
    Leon6868
    Leon6868
    OP
    Jul 22
    126
    @BingoXuan #124 感觉大佬的思想非常深刻,有兴趣加个微信继续交流吗? https://privnote.com/EaK8OeRf#utEG2bBTJ
    Leon6868
    Leon6868
    OP
    Jul 22
    127
    @w568w #125 以后没有轮子就自己 Vibe (不是)没必要用低质量的库
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5032 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 06:39 · PVG 14:39 · LAX 22:39 · JFK 01:39
    ♥ Do have faith in what you're doing.