2023 年,有什么原生级性能的跨平台 UI 框架?

2023-07-08 09:57:15 +08:00
 w568w

月经问题了,以下贴已读过但是没有找到合适的:

打算开个 Side Project 写着玩。准备趁机学点新东西,满足一下自己的软件洁癖……

对框架的需求主要有:

  1. 至少支持 Windows 、Linux (X11)、macOS 三个主流桌面平台
  2. 尽可能不需要携带体积大的捆绑库(如 CEF );
  3. 内存占用小,启动速度接近原生
  4. 支持丰富的文本排版格式(例如同行内图文混排等)。

已经尝试过但不合适的有:

  1. PWA:内存占用大,需要下载浏览器;
  2. Electron:内存占用大,需要携带近百 MB 的 CEF ;
  3. Tauri:内存占用大,冷启动时空屏时间极长;
  4. ReactNative:内存占用大,冷启动时空屏时间长;
  5. JavaFX / Compose Multiplatform:冷启动速度慢,需要携带 JRE ;
  6. Sciter:对 Linux 的支持基本放弃(声称支持 X11 ,实测官方 Demo 无法正常渲染);
  7. FLTK:Windows 下的中文字体渲染非常糟糕;
  8. OpenGL/Vulkan:这不算 UI 框架吧?

使用的语言无所谓,主流框架的基本多少会一点。

之前有 Flutter 和 Android 的开发经验,所以推荐 Flutter 就免了。这不是想学点新玩意吗😂

20250 次点击
所在节点    程序员
106 条回复
iorilu
2023-07-08 11:59:59 +08:00
正经点的就是 pyqt , 没有之一
ggvoking
2023-07-08 12:03:43 +08:00
qt 和 Avalonia
muhuan
2023-07-08 12:08:36 +08:00
整体上觉得 JavaFX 还可以,使用成本比较低,启动慢了些,携带 jre ,体积大了一些,不过还能接受;

slint 看着 nodejs cpp rust 都支持,没细看,主要看着还是 rust 为主
pepsiwant
2023-07-08 12:10:18 +08:00
为什么内存占用大算作缺点啊,或者说内存占用大是缺点的外在表现?
nikenidage1
2023-07-08 12:13:26 +08:00
老哥,你没看我前两天的帖子啊

https://www.v2ex.com/t/952603
用 .Net 写了一个跨平台的桌面端软件,且原生编译,无需运行时,启动快内存少体积小
flyqie
2023-07-08 12:18:34 +08:00
你说的不就是 qt 吗。。
IDAEngine
2023-07-08 12:18:49 +08:00
GTK4
makelove
2023-07-08 12:23:10 +08:00
delphi 还有个开源竟品,以前用过 delphi ,做做小东西很牛逼
https://www.lazarus-ide.org/
SenLief
2023-07-08 12:27:11 +08:00
不就是 c#
NormanGhost
2023-07-08 12:48:12 +08:00
qt😄
totoro52
2023-07-08 12:59:49 +08:00
delphi: 谁在敲我的棺材板
angrylid
2023-07-08 13:00:54 +08:00
恕我直言,你需要做的唯一一件事就是戒掉矫情病。
然后选择 Qt+CEF 或者 Electron
Arctic2021
2023-07-08 13:02:19 +08:00
Qt + CPP ,楼上说得对:你需要做的唯一一件事就是戒掉矫情病。
mmdsun
2023-07-08 13:08:40 +08:00
微软家的 MAUI ?

https://dotnet.microsoft.com/zh-cn/apps/maui

或者 Electron
chengxiao
2023-07-08 13:19:17 +08:00
@w568w 如果 Flutter 的小问题都算多的话,那其他的跨平台框架只会问题更多
要么 Flutter 要么 QT 吧
lujiaxing
2023-07-08 14:07:36 +08:00
你这需求属实相当极端了.
rbq123456
2023-07-08 14:13:32 +08:00
@chengxiao 用 flutter 写 win ,linux ,mac ,认真的吗
learningman
2023-07-08 14:38:24 +08:00
Qt 为啥不行
chengxiao
2023-07-08 14:48:01 +08:00
@rbq123456 为什么不行?企业微信就是 flutter
roundgis
2023-07-08 14:53:34 +08:00
@mmdsun maui 官方不支持 linux

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

https://www.v2ex.com/t/955040

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

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

© 2021 V2EX