桌面应用开发求大佬推荐技术方案

2023-07-04 10:35:34 +08:00
 CForce

现在是想做个给团队内和外部合作方用的小工具应用,GUI 界面非常简单,有这么几个需求: 1 、支持 Windows 和 Mac ; 2 、工程里要用命令行调用一个外部的可执行文件,在 Windows 上就是 exe 和几个 dll ,Mac 上就是一个 Linux 可执行文件,想把这几个外部可执行文件都最终打包到一个最终产物里并且可被直接调用; 3 、免安装,比如在 Windows 上直接能生成最终的一个 exe 文件直接打开;

有现有的技术方案可以满足上面的需求吗?求各位大佬推荐技术方案。

7445 次点击
所在节点    Windows
84 条回复
rainbirda
2023-07-04 21:40:48 +08:00
PyQt6 或 PySide6 能满足你的需求,可以打包成 exe ,并可引用 dll ,就是打的包有点大,包含了整个 Python 环境,设计页面也比较方便,可以使用 Qt Designer 可视化拖拽组件,就是有些属性不太好找
inframe
2023-07-04 21:56:38 +08:00
支持跨平台的玩过这么几个:

C# Net 567,PyQt5\tkinter
Java Swing/ComposedUI ,Flutter, Pascal Lazarus
web 套壳 Electron
ichubei
2023-07-04 22:18:49 +08:00
@sipt 几秒钟下完,一两百空间没什么,现在网速,硬盘都便宜。 体验好就行。
jevonszmx
2023-07-04 23:23:51 +08:00
不要折腾,Electron
thiiadoewjwe
2023-07-05 08:34:42 +08:00
独立运行的 exe 我能想到的就是用 C++写完静态链接生成 exe ,这样的话一个 exe 就可以了
vitovan
2023-07-05 08:59:51 +08:00
oldj
2023-07-05 09:02:57 +08:00
@CForce Electron 使用 electron-builder 打包时,target 那儿传入 "portable" 就可以打包为一个免安装的 exe 了。参见 https://www.electron.build/configuration/win 的 target 参数说明。还可以指定打包的架构,比如 "portable:ia32"、"portable:x64" 等等。
diyisoft
2023-07-05 09:08:36 +08:00
试试 Delphi 11.3 ,不过没接触过的搞不来。
wpo
2023-07-05 09:27:12 +08:00
Flutter ,我就在用这个画 UI ,在 Windows 下拉起 ADB 之类的外部程序实现功能。
simo
2023-07-05 09:41:16 +08:00
经验不多,下面都做过些软件。
qt 推荐
flutter 一般
taurl 一般
electron 打包有点大,前端转型的,开发速度比较快
kingzeus
2023-07-05 09:49:56 +08:00
推荐 flutter ,上手简单,做工具没啥问题
dimwoodxi27
2023-07-05 10:04:38 +08:00
golang 的 fyne 推荐:直译支持跨平台,无需安装其他额外依赖
java 的 fx 不推荐:编译麻烦,写个几百 kb 的程序得带个几百 m 的 jre ,重点不是直译是开源
c++的 qt 和 c#的 wpf 推荐
kylix
2023-07-05 10:21:04 +08:00
看了下回帖,发现推前端工具的比较多呀,看来 v2 很多前端呀

---
本来都写了一段话了,后来还是 backspace 掉了
newmlp
2023-07-05 10:23:29 +08:00
qt 或 c#的 ui 库
exe 了解下静态库,如果第三方库都是开源的就编译成静态库,可以做到一个 exe 就行了
mac 就无所谓了,反正它的应用本来就是以.app 结尾的文件夹体现的
LANB0
2023-07-05 10:46:15 +08:00
@ChrisFreeMan QT 是不服的,小工具又不需要花里胡哨,electron 仅有的开发效率也没啥意义
yjd
2023-07-05 11:31:09 +08:00
我这种喜欢原生 win32 启动快的,像 electron 这种,简直。。。
qbittorrent 用 qt 。冷启动慢。c#冷启动也慢。

我看你这需求 win 的话,直接批处理或 powershell 脚本+自解压打包省事,写好打包脚本,鼠标双击下不都给你生成出来了
horizon
2023-07-05 11:49:39 +08:00
@kylix #73
你想表达什么呢
hez2010
2023-07-05 12:24:27 +08:00
推荐 Avalonia (11.0 版本),跨平台并且原生支持 GPU 加速,还支持 nativeaot 编译出原生二进制代码。
jazzg62
2023-07-05 16:24:06 +08:00
回复中出现了约 31 次 electron ,12 次 qt, 8 次 flutter ,5 次 Avalonia ,其它若干。
果然还是对开发者友好的框架更受欢迎啊
SekiBetu
2023-07-05 17:48:23 +08:00
electron

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

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

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

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

© 2021 V2EX