Windows 下开发小应用 GUI,真的很难选方案

查看 69|回复 3
作者:feirisu   
今天想做一个简单的小 exe ,需要调用不少原生 Windows API ,想要尺寸小一些,不要有依赖,最好单文件。
其次,UI 不想要 Win32 原生控件。
没想到在 2024 年的今天,这个看似简单的问题是如此难找到一个完美符合要求的。
1.c++ win32 原生,CreateWindow 后面要设 Font 、所有事件自己从处理循环里接。
2.c++ MFC ,想要 UI 好看,Pass 。
3.c#的 WPF ,是很方便,也有很多 UI 库,但是目前不能 AOT (正式版本),独立打包直接去到 100+M ,Pass 。
4.c#的 Form ,UI 不好看,打包也很大,可以 AOT 但是基本是空程序才行,稍微复杂点因为 AOT 隐式启用裁剪,复杂点的代码就会启动不了。
5.c#的 Avalonia ,UI 还行,和 Form 一样 AOT 后有可能启动不了,独立打包 60-80M 也有点大,独立的也还另外带 3 个 DLL ,最难受的是启动很慢,需要 2-3 秒左右的时间才出窗口。
6.QT ,不熟 Pass 。
7.MAUI(WINUI),都不想提。
8.electron ,一堆文件,太重了。
9.flutter ,需要很多原生代码,还是得自己写 c++,两头折腾,尺寸倒是比 c#的那几个小不少。
10.易语言,会,但真的不想用。
微软真的是不干人事,老老实实把 WPF 的 AOT 做好,不知道能造福多少客户端开发。
想来想去,不如控制台得了,除了没 GUI ,尺寸小、单文件、无依赖都可以做到。

aot, 原生, pass, GUI

tave   
winform+webview2 挺符合你的需求吧,只需要一个 webview2 控件,ui 前端轮子足够用成本也低,逻辑全靠 C#,打包还不会像 cef 多一个浏览器内核,体积有保证
0o0O0o0O0o   
https://github.com/microsoft/windows-rs 和 https://github.com/tauri-apps/tauri
explon   
试试 abp.io
您需要登录后才可以回帖 登录 | 立即注册

返回顶部