多端 GUI 真的没有银弹吗

4 天前
 Leon6868

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

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

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

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

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

GUI 真的没有银弹吗?

9603 次点击
所在节点    程序员
118 条回复
hwdq0012
3 天前
@Leon6868 #18 怎么理解这句话,windows app 是指在 windows 商城里的程序吗?, 我还没开始尝试 rn 的桌面, 但据我所知,office 和 xbox 的新模块都是 rn 写的
hhecoder
3 天前
Flutter 怎么昙花一现了?如果要兼容移动端和桌面端,算是目前的最优解了
Leon6868
3 天前
@hwdq0012 #21 你可以这样理解; office 和 xbox 由自己的 win32 层,但是微软为了推广 Windows APP 所以没放出来。
hwdq0012
3 天前
@craftsmanship #19 web 做做表单还行 模型推理, 音视频, h264 等解码 这些, 都很鶸, 点云 3d 这些
hwdq0012
3 天前
@Leon6868 #23 还是不很理解, 不久我会尝试一下
hez2010
3 天前
@Leon6868 Avalonia 可以 NativeAOT 直接编译到机器码在目标系统上无需 runtime 直接原生运行,甚至包括 wasm 平台在内。不知道你所说的“通用”是什么,任何的应用框架都会绑定到一个特定语言或者平台上,不存在什么所谓的通用的框架。
angrylid
3 天前
你把 WebApp 当 GUI 的话,你现在访问这个网站就支持很多平台…

另外,桌面端和移动端在交互上有个矛盾源自于鼠标指针和拇指的差异。
具体的说就是,鼠标交互有双击,右键,指针悬停,选中范围
手指点按没有那么精确,但却有双指,三指,指关节敲击。

不管你怎么绘制图像这种问题都存在。
fors
3 天前
java swing 最好的 GUI 框架,配合上 java 的生态无敌
anivie
3 天前
网页本身不就是银弹吗,基本满足大部分幻想了吧,性能什么的大部分人都遇不到,遇到了现在也有很多人在积极解决,wasm 什么的
craftsmanship
3 天前
@hwdq0012 你说的这些已经脱离狭义的 GUI 范围了 另外 WASM WebGL WebGPU 这些规范也都在缓慢演进 为什么是缓慢?还是上述观点 Web 本身就已经非常复杂 需要各大厂商协力推进才能继续发展 结果呢?现在浏览器已经死得只剩 Chromium 了 Firefox 都成了 others

另 小程序已经证明了绝大多数应用根本没必要是原生的 必须事先下载安装在本机才能使用的 你如果觉得小程序没问题 那 PWA 就是更好更自由的小程序 本来 PWA 有很好的前景 为什么 2025 了会被楼主称为“早已做土”了呢?因为它动了原生 app 的蛋糕 没人肯好好支持它 完善它
anivie
3 天前
op 可以了解一个叫 slint 的新解决方案,一个语言写 UI ,其它语言写逻辑,感觉也挺银弹的
chiaf
3 天前
@Leon6868 #14
reddit pwa 版本的通知

Tomatopotato
3 天前
没有银弹,复杂的问题必然对应复杂的答案。GUI 没有完美六边形答案,如果有几个方面做的很强那必然其余方面会是短板。就比如 web 确实是个跨平台通解,但是是用性能和表现力换的。
chiaf
3 天前
@Leon6868 #14 而且支持 pwa 和不支持的很容易就能看出来。Safari 中「添加到桌面」后,从桌面上打开,有地址栏的就是不支持的,没有的,跟 app 体验几乎一模一样的是支持的。

v2 之前是支持的,不知道什么时候不支持了。之前在 Discord 上还看到有人问了,后面又添加了 pwa 支持,但是只是首页,点击某个帖子是用的类似于 SafariController 这样的控件打开的😅,跟 twitter 和 reddit 的体验完全不同。
Gress
3 天前
@fors 想多了,写过 Jetbrains 插件就知道,这玩意一堆坑
jlkm2010
3 天前
没有银弹
liuliuliuliu
3 天前
@Leon6868 #20 没太明白,什么叫“真正的通用”?
Leon6868
3 天前
@craftsmanship #30 我认为 PWA 做土的主要原因是它依附于浏览器,任何人都不希望被他人束手束脚
Leon6868
3 天前
@anivie #31 这个听说过,做嵌入式 UI ,很有意思,有点 egui 的感觉,但是似乎更成熟
shui14
3 天前
怎么说呢,flutter 刚出来时我就说了,它将成为 rn 的一种实现。去年看到过一个博主无聊整了一个 react-skia
gui 的话,现在亮点是 gpui ,长桥刚出了一个 ui 包。另外 rust 那边也有新路线,c++这边的 dawn 目前没人往 ui 上面带,都在搞底层硬件光追那些。不过第三方产品很多,比如 riveo 和 rive ,这是两个产品,一个是 metal 做视频特效,一个自己开发的抽象层做交互取代之前的 lottie

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1142560

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX