现在桌面端的主流技术栈有怎样的?

2023-07-23 22:52:51 +08:00
 raylei

很久没有玩桌面端了,还停留在以前 mfc 记忆中。知道桌面端的技术栈在这些年已经天翻地覆了,mfc 也没人用了。所以想请问一下,如果你来开发 win 的桌面端,会使用怎么样的技术栈来实现呢?

8477 次点击
所在节点    程序员
76 条回复
mmdsun
2023-07-24 11:10:17 +08:00
darknoll
2023-07-24 11:12:43 +08:00
只有 Electron
blinue
2023-07-24 12:10:59 +08:00
@codehz #16 为了美观肯定要上 WinUI ,最终体积在 25M 左右。只面向 Win11 可以用 dynamic dependency 引入。
codehz
2023-07-24 12:16:17 +08:00
@blinue 用这个,可以做的很小 https://www.nuget.org/packages/Mile.Xaml
blinue
2023-07-24 12:29:35 +08:00
@codehz #24 我也在关注,和原生体验有差别,因为 WinUI 有很多自定义控件,而这个项目只移植了样式。我的 demo: https://github.com/Blinue/Xaml-Islands-Cpp
star7th
2023-07-24 13:18:07 +08:00
除了某些对性能要求很高的场合,一般用 Electron 即可 。也别信那些吐槽 Electron 的人,他们是从使用者出发的,希望使用的软件超高的性能。
但对创作者而言,Electron 是最佳的技术路线,能平衡开发成本和效果。
star7th
2023-07-24 13:18:46 +08:00
tauri 也别用,生态还不够成熟 。如果对软件体积有极致的需求。
shyangs
2023-07-24 14:46:26 +08:00
樓主都說了是 win 的桌面端,那就選 C# ( .NET ),

C# 開發速度比 C++ 快,執行速度比 JS 快. windows 預設也安裝了 .NET Framework.
horizon
2023-07-24 14:49:08 +08:00
@owen800q #10
老哥。。对自己不了解的慎重推荐。。
iOCZ
2023-07-24 14:53:03 +08:00
QQ 选 electron 无疑是一种倒退
liruifengv
2023-07-24 15:18:10 +08:00
tauri 。使用 webview2 ,只开发 windows ,并且不兼容老系统的话没问题的。
Flybear
2023-07-24 15:18:47 +08:00
不跨平台原生就 WPF 或者 WinUI 3 。
2023 年了,别再用 MFC 或者 WinForms 了,4K 屏看着眼睛都要瞎了。
unco020511
2023-07-24 17:47:24 +08:00
Electron 大概率是首选
henryhu
2023-07-24 17:54:33 +08:00
windows7 还有很多用户,electron 打包结果在 win7 上跑没问题吧?
lxrmido
2023-07-24 17:56:44 +08:00
electron ,相比起效率,对于现在的网络带宽和硬盘价格来说,多出来一个浏览器内核已经不是问题了。
kimown
2023-07-24 21:23:04 +08:00
electron, 天然的跨平台
wjx0912
2023-07-24 21:42:58 +08:00
一个 electron 多 100M 。装 50 个软件,也才 5t 。现在的硬盘也不会在乎这么点空间吧
cs419
2023-07-24 22:22:37 +08:00
说个国人开发的 编程语言 aardio
https://aardio.com/
https://bbs.aardio.com/

可以开发 windows 桌面软件
大佬更新频繁 还给这个语言写了 IDE

近段时间停更了 说是老婆癌症
要全身心的去照顾老婆
扫码出两百块支持了一下
不知道以后还会不会再更新
H0H
2023-07-24 23:11:08 +08:00
@cs419 38 ,AAuto 、aardio 抄袭自 Lazarus ,知乎上有讨论,当时的主题叫《 AAuto 为何更名为 aardio?》。

当然,抄袭没多大问题,但是 aardio 是作者一个人维护,不开源,脾气又很差,各种问题都不回答。而且很奇怪的是,对于 JavaScript 调用 windows API 这种涉及到参数转换的,作者居然不知道怎么做。这本应该是他最熟悉的才对,因为 JavaScript 要调用 Windows API 肯定涉及到参数来回的转换啊,否则他这个工具咋写出来的?但看他在论坛中认真回复其他人在工作中遇到传参转换的,他没在开玩笑,完全是认真的说他也不清楚提问人给的场景下具体应该怎么做。把我都看懵了。说他水平差吧,能搞出这么强大的编程语言;说他很强吧,又是基础的问题都不清楚。

这种情况下,如果是在家里给自己写几个小工具,用这个语言没问题。如果是在公司里开发商业软件,那风险就太大了,遇到问题只能靠自己想办法 debug ,网上基本上没讨论的。哪天作者弃坑了,那已经开发出了的各种小工具要完整支持下一代 windows 该怎么办?

aardio 我自己在家里也用它开发了个小工具,但只是长时间做了 test ,没敢正式使用,主要是怕里面有恶意代码。而且它那个 IDE 也让我没了信心。作者宣传的是开发的小工具运行很迅速,但它的 IDE 我记得就要 5 秒钟才能打开,这说明运行也不迅速啊。这可能就证明了 aardio 只适合做玩具,真用来开发大一点的工具,性能恐怕是大问题。唯一的优点,就剩生成的 exe 很小。但商用环境下 exe 大小往往不是核心问题。既然这样,为什么不用 Electron ?
jones2000
2023-07-24 23:23:01 +08:00
@wjx0912 带宽,硬盘不是问题, 关键是运行的时候如何抢占更多的资源( cpu,内存,磁盘读写等等), 这样才能让自己的程序丝滑, 把被人的程序卡死。

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

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

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

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

© 2021 V2EX