1
tave 358 天前
winform+webview2 挺符合你的需求吧,只需要一个 webview2 控件,ui 前端轮子足够用成本也低,逻辑全靠 C#,打包还不会像 cef 多一个浏览器内核,体积有保证
|
5
Binwalker 358 天前 1
tauri 吧,体积小
|
6
StubbornHuang 358 天前
duilib+cef
|
7
xmoer 358 天前 5
哈哈哈,楼主总结的很到位,微软真的是不干人事 😂
|
8
Mithril 358 天前
MFC 创建的时候就可以选新的 office 风格了吧?
实在不行你可以 webview2 ,相比 Electron 能省点地方。 |
9
shuax 358 天前 2
duilib
|
10
cocang 358 天前
楼上说的 webview2 就挺好,覆盖率已经很可观了,也符合你“尺寸小一些,不要有依赖,最好单文件”的要求
|
11
fields 358 天前
electron 吧 文件多久多呗 好在快速开发、没啥学习成本都
|
12
0o0O0o0O0o 358 天前 2
> 微软真的是不干人事,...,不知道能造福多少客户端开发
我觉得微软就算愿意造福客户端开发也不会造福 2024 年想支持 Win7 的客户端开发吧 |
14
feirisu OP @0o0O0o0O0o 是的啊,新的 MAUI 就不支持 Win7 ,github 上也有人在喷,另外这玩意 AOT 也不怎么好用。
|
15
morgan1freeman 358 天前
不跨平台 纠结这么多干嘛 直接.net wpf 一把梭,
|
17
feirisu OP @morgan1freeman 编出去太大啊,太大了啊,独立包 100M 了
|
18
Hellert 358 天前 3
Windows GUI 最强的还是 Delphi ,可惜不是免费的。
可以看一下 Lazarus 。 |
19
churchill 358 天前
"小应用 GUI 想要尺寸小一些,不要有依赖,最好单文件"
难道说的不是 ImGui ? |
20
morgan1freeman 358 天前
另外微软家的东西 ,业内都是嗤之以鼻的,基本上没几个能善终,好多都烂尾了
一般技术选型,狗都不用微软家的技术 silverlight RIP |
21
KgM4gLtF0shViDH3 358 天前
aardio ?
|
22
Foxkeh 358 天前
aardio
|
23
ShadowPower 358 天前
如果会 Pascal 语言,也许可以试试 lazarus
对于小工具够用了 |
24
morgan1freeman 358 天前
@Hellert delphi 还没死么,我 07 年上初中的时候,还用 delphi 写过 u 盘,inf 病毒的 查杀工具,当时很多老师的 u 盘插到教室的电脑 然后被病毒 g 了,我就弄了个 upan 查杀工具,当时还有 exe 伪装成 excel 图片,让人误点的,我帮教室里面的电脑 安装好几次的系统
|
25
limiter 358 天前
怎么没看到 javafx
|
26
morgan1freeman 358 天前
https://www.2ccc.com/ 这个网站 居然还没倒闭,牛逼
|
27
IsaacYoung 358 天前 via iPhone
react-windows
|
28
Rorysky 358 天前
选人多的
qt electron flutter |
30
xiwh 358 天前
golang + govcl ,轻量无依赖,打包完压缩后就几 M ,不依赖 Runtime, 开发简单的页面完全够了
|
31
yolee599 358 天前
我提一个:
lvgl |
32
ysc3839 358 天前 via Android
C++ + Xaml Island ,相关依赖库都在系统中,可以做到小体积,不过至少需要 Win10 1809 才能用。
|
33
ysc3839 358 天前 via Android
@ysc3839 不过要弄成单文件的话得进行一些 hack ,可以参考 https://github.com/ysc3839/SingleExeXamlIsland
|
34
ShadowPower 358 天前
我刚想到一个另类一些的:
Godot 这玩意真的可以用来写软件,有一些例子: https://github.com/Orama-Interactive/Pixelorama https://github.com/RodZill4/material-maker https://github.com/MewPurPur/GodSVG https://github.com/mbrlabs/Lorien 用 GDScript 写逻辑,开发效率也相当高。 另外看了帖子回复,我觉得有个需要注意的坑: 大多数用 GPU 绘图的 GUI 库,往往字体渲染都有很多坑。 ImGUI 就有坑,比如不能渲染阿拉伯语…… |
35
shijingshijing 358 天前
既要又要还要更要,本来最符合的 Qt 被你直接 Pass 了
|
36
Chad0000 358 天前 via iPhone 1
你不跨平台追求独立打包有什么意义吗。
|
37
calvinHxx 358 天前
qt 可以解决你所有的问题 可惜你不熟
|
38
ysc3839 358 天前 via Android
@shijingshijing Qt 的体积也比较大。
其实要体积小的话,要不然就只能界面难看,要不然操作系统有自带依赖。那可选项就只有传统 Win32 控件、Xaml Island 、Edge WebView2 、.NET Framework 。传统 Win32 控件太难看。.NET WPF 自带的主题也不太好看,用第三方主题又会增加体积,不过看增加的大小,也许可以接受。WebView2 要好看也得用第三方 css 库,不过一般都能做得很小。所以最符合的基本就只有 Xaml Island 了。 |
39
XiLingHost 358 天前
试试 egui 或者 slint
|
40
GeekGao 357 天前
界面如果不是很复杂,QT 学习起来该是比较舒适的
|
41
maybedk 357 天前
qt 不方便的话可以试试 pyqt,用 pyinstaller 打包完可以不超过 50M,或者用 python 内置的 tkinter 会更小
|
42
adoal 357 天前
因为早在很多年前厂家们就没动力卷桌面 GUI 赛道了,更不要说 native GUI
|
43
pengtdyd 357 天前 5
何为重?何为轻?不要陷入到技术选型的漩涡当中,把业务做好才是正途。
|
44
W3Cbox 357 天前
AARDIO
|
45
W3Cbox 357 天前
@feirisu 唯一能满足你的只有 aardio ,
优点如下: 1.简单易学,有 Python 、php 、或者 JavaScript 之类的脚本语言经验的人,稍微看一下文档。初学者很容易就能学会 2.支持 ui 自绘,可使用 html+css 定制非常美观的界面 3.打包极小,一般的桌面小软件 3-5m 。且启动快 4.示例代码丰富,文档完善,大部分模块代码已经封装好了,直接复制就能用,几行代码随随便便就能拼装出功能强大的软件 |
46
Gosolin 357 天前
不追求新特性可以把 WPF/WinForm 的 TargetFramework 改成 .NET Framework 比如 net461 ,用系统自带的运行时也约等于无依赖了
|
47
henix 357 天前
传统 GUI 库除了 QT 还有很多啊,GTK+、wxWidgets 之类的,还有 https://www.fltk.org/
如果不限语言的话,还有 https://www.tecgraf.puc-rio.br/iup/ 和 Tcl/Tk |
48
yulon 357 天前
需要纠结这种问题就无脑选 Electron ,因为你不可能比 Electron 做得好,如果你能比 Electron 做得好,那也就不会问这个问题了。
|
49
janus77 357 天前 4
你这个要求也挺多了吧。。。要美观,要大小,要便携性,要性能,要开发速度,说说吧是什么你可以放弃的?
什么?你都不想放弃?那还说你要求不高? |
50
ibinary 357 天前
duilib 或者 cefview.
|
51
cookgo 357 天前
wails
|
52
keepwalk2020 357 天前
python + tkinter + win32API 然后用 pyinstaller 打包, 需要加密的话用+ cython
python + tkinter 写的应用优化打包后可以小于 10Mb python + ctypes 调用 win32 DLL ,打包后小于 3Mb 不要用用 python + qt 这有一个用 python + ctypes 写的多窗口文件管理器,仅供参考: https://www.v2ex.com/t/911130#reply9 |
53
huyangq 357 天前
javafx 嘻嘻
|
54
Peek 357 天前
webview2 吧,好像只要运行时就行了,不一定非要 edge 吧?我业余写着玩感觉这个是目前最好的选择了,会易的话,火山 pc 就有这个库
|
55
keepwalk2020 357 天前 1
如果选 python + tkinter 的话,有图形化 UI 生成工具,
https://visualtk.com/ https://github.com/alejandroautalan/pygubu-designer 设计好 UI ,直接生成相关代码 如果只在 win 平台用,打包时候+upx 压缩,体积更小 : https://github.com/upx/upx/releases/tag/v4.2.2 如果没有调用很大很复杂的库,python + tkinter + win32 API + pyinstaller + upx 写的 GUI 应用可以 < 10Mb, 手动优化( trim 库)可以 < 5Mb 同样的代码,所使用的 python 版本不同会导致不同的打包大小 py2.7 < py3.5 < py3.12 |
56
minami 357 天前
你这个要求有点过多了,但确实有一个满足你所有要求的,就是 https://github.com/yue/yue/blob/master/docs/guides/faq.md 可以静态链接,可以调用原生 Windows API ,完全自绘。如果你能接受原生控件的话,IUP 也是个好选择
|
57
0o0O0o0O0o 357 天前 via iPhone 1
|
58
huiyadanli 357 天前
.net framework 为什么要独立打包,系统不都自带吗
|
60
jiangzm 357 天前
前端不熟还挑啥这个 UI 不好那个 UI 不好看,不管是 Web 前端还是桌面前端都是要开发自己有排版设计能力。
懒鬼就直接找人家现成有 UI 的项目改改好了。 |
61
James369 357 天前
这么纠结,不如雇佣一个人来做,你不做有的是人做。不过看你应该是有洁癖
|
62
blinue 357 天前 1
你的需求基本只能 C++ 实现。我在自己的开源项目里用的 C++/WinRT+XAML Islands+WinUI 2 ,效果挺好。优点是界面美观,没有外部依赖( HybridCRT 技术),纯框架体积不到 10M 。但单文件是做不到的,最少 4 个文件。
|
63
qazwsxkevin 357 天前
记得 MFC 在做窗体布局的时候,可以自己做(画?)控件的,(控件类的逻辑,继承后完全重写都能做到?? 好像自由度还是很大的,不记得太清晰了),
记得当时自画 mfc 控件的图和色,只能用 16 位的图(当时是 XP+VC2005),我自己在 XP +VC2003 上用 MFC 写的背单词软件,后来用在 vista 上,那窗体和按钮,非常素。。。。 MFC 编译后的 release 版,就算很几万行很复杂的逻辑,单文件内嵌静态编译,文件最多 3,4,5M 体积,甚是怀念。 可我毕业后就没干专职开发了,呵呵呵 MFC 是好东西。 微软就是狗。 |
64
felixlong 357 天前
WinUI3 不是最好的选择嘛?要 size 最小直接选 C++/WinRT. 印象里不会超过 1M 。
|
65
acctv2 357 天前
WPF 就算最终实现了 AOT ,体积仍然会很大,这跟 AOT 本身没关系。
你又要 GUI 好看,又要占用小,那只能从底层控件开始自己手撸,结果你又不愿意撸,又想简便。你这个需求在哪个平台能完美实现? |
66
aiqinxuancai 357 天前
@acctv2 如果 WPF 能 AOT 的话,参考 Form 目前已知的 AOT ,估计应该能在 20-30M ,然后上 UPX 壳,应该能在 10M 左右,还是很可观的。
|
67
zggsong 357 天前
我也是想骂,wpf 搞 aot 多好,最近开始研究 avalonia 了
|
68
ysc3839 357 天前 via Android 1
@blinue 可以实现单文件。
不使用 WinUI 的情况下,用代码创建界面元素,就不需要 resources.pri 。 要 resources.pri 的情况下,可以 hook 加载 resources.pri 的 DLL(印象中是 twinui.appcore.dll),让其加载内存中的数据。不过 hook 属于非正常手段,升级系统后可能出现问题,风险自担。方法参见 https://github.com/ysc3839/SingleExeXamlIsland 要 WinUI 2 的情况下,如果是 Win11 ,可以用 AddPackageDependency 引入系统中已安装的 WinUI 2 AppX 包,甚至可以引入系统内置的 WinUI 2 包 ("Microsoft.UI.Xaml.CBS_8wekyb3d8bbwe"),不过当然也是风险自担。 要 WinUI 2 的情况下,如果是 Win10 ,我之前调查过,似乎是只能把 WinUI 2 的 DLL 和 resources.pri 放到 exe 目录下,除非是打包成 AppX 并添加 WinUI 2 AppX 包的依赖,否则只能自己附带 WinUI 2 。不过可以考虑 Win10 下不用 WinUI 2 ,Win11 下才用。 上述“用代码创建界面元素”有个衍生方案,那就是用 React Native for Windows ,因为 React Native 就是纯代码创建元素的。之前测试没记错的话 React Native for Windows 的 DLL 只有 2MB 。原版 React Native for Windows 是独立的 DLL ,同时需要从文件加载数据,不过因为是开源的,可以改成静态链接以及从内存加载数据,就可以单文件了。 |
69
ysc3839 357 天前 via Android
@felixlong WinUI 3 不一定是最好的,目前最新的 Win11 似乎都没有内置 WinUI 3 ,就算通过 AppX 安装 WinUI 3 ,也少不了安装那一步。
|
70
MrLia0 357 天前
pyqt pyside 应该满足你的条件,有个 fluentui 还不错
|
71
linuxgo 357 天前
|
72
kenvix 357 天前
不追求 AOT 的话你的选项会多很多
|
73
minami 357 天前
@0o0O0o0O0o #56 考虑到作者是国人,很难说有没有故意的成分,哈哈
|
74
mumbler 357 天前
需要调用不少原生 Windows API ,想要尺寸小一些,不要有依赖,最好单文件
同时满足这个需求,除了 delphi 没有第二家,只要你不申请软著,不会被国内代理盯上 |
75
asm 357 天前
linux 没这个需求,因为大部分程序不需要 GUI[手动狗头].
想好看还想文件小,这个貌似只有 mfc 、wtl 。哦对,忘了 delphi 了,微信和 foxmail 的巅峰之作。 |
76
Ritr 357 天前
winform 还好吧,简单粗暴体积小
|
77
yixiang 357 天前
没人提 sciter ? 6M 大小,html + js + css 开发 ui ,有接口可以和原生语言交互,如 c ,rust 等。甚至支持 XP 。
主要的坑在于 css 和 api 是自己的一套东西,和标准不一样。几年前 js 也是自己的,后来 quickjs 出来后换 quickjs 了,开发体验提升很多。 拿来开发过几个小工具,开发体验比较差,但引擎本身挺强的。 |
78
ggvoking 357 天前 via iPhone
.net Aot 被裁剪运行不起来,配个 rd.xml 加上类型就行了,很简单。
|
79
memorycancel 357 天前
奔驰 特斯拉 等很多车机上的 ui 用的 qt
|
80
rm0gang0rf 357 天前
go+web
|
81
Promtheus 357 天前
IMGUI
|
82
gbw1992 357 天前 1
|
83
creanme 357 天前
slint ?可以了解一下,可以使用 c++, js, rust 开发
|
84
anytk 357 天前
|
85
opiviqo 357 天前
pyside pyqt
|
86
duke000 357 天前
wxwidgets
|
87
leyoumake1997 357 天前
试试[wails]( https://github.com/wailsapp/wails),程序嵌套了个 webview ,ui 界面套一些开源组件库绝对杠杠的,在配合 go 写一些简单的后端业务逻辑,打包出去最小的可执行文件也只有 10MB 左右。
|
88
xieren58 357 天前
Avalonia 挺好用... 我做了几个小项目了...
|
89
nbboy 357 天前 2
你熟悉哪个就用哪个,不要纠结这种东西,有时间纠结还不如花点时间在业务上。
|
90
june4 357 天前
我以前直接在本地起个端口做成 web 服务
用默认浏览器,系统里浏览器总是有的 |
91
wodeguaiguai 357 天前
miniblink
|
92
hankli 357 天前
易语言: 我真的很伤心
|
93
FrankAdler 357 天前 via Android
前几天自学 winforms 做了个应用启动器,感觉简单好用,好不好看就无所谓了
|
94
0TSH60F7J2rVkg8t 357 天前
@Hellert 好像 Delphi 现在的公司 Embarcadero 推出了社区版,是可以免费使用的:
https://www.embarcadero.com/products/delphi/starter/free-download |
95
frank1357 357 天前
wails + 1 主程序 golang , 界面支持各前端技术栈;
golang 原生跨平台,前端技术界面便捷/丰富程度也非其他可比; |
96
tgcdz 357 天前
如果喜欢用 H5 做界面,可以试试这个 https://webui.me/ 。用本地浏览器作为 UI 界面,业务逻辑可以用 C/C++/Go 等开发
|
99
PrinceofInj 357 天前
@ysc3839 #69 不知道微软怎么想的。明明自己的系统组件都有用 winui3 写的了,然而我自己写一个小的程序,在系统上执行却需要额外再安装一下运行库,而不能用系统自带的。
|
100
Henrylee8619 357 天前 via iPhone
刚看到标题就想起易语言,没想到楼主真是考虑了哈哈
|