请 windows 开发大佬指点下, 我想学习一种微软支持的开发桌面 exe 程序得方式

215 天前
 iorilu

说实在的, 虽然折腾不少框架, 库啥的

但这么多年却没有正经学过微软的任何语言或框架, 原因就不讨论了

但我现在想做正统的 windows 本地桌面程序开发, 想请 windows 开发经验多的人指点下, 省的走弯路, 省点时间

我虽然没搞过, 但大概也知道, 就算微软支持的东西也很多, 比如 winform ,wpf , 语言也一大堆 我说下我的目的和要求

希望得到具体点的意见 比如用啥语言 , 用啥框架, 怎么搭环境等

定好了直接开干。

5719 次点击
所在节点    程序员
74 条回复
LLaMA2
215 天前
delphi7
jennalcn
215 天前
有时候不用想那么多,直接开干就好啦。为什么只用微软官方支持的技术?这个有点迷。官方现在主推 MAUI ,但是用过都会无尽吐槽,个人推荐 AvaloniaUI ,但现在的新技术基本都不支持 Win7 ,如果要支持 Win7 的话还是得用 Winform
zed1018
215 天前
nulIptr
215 天前
wpf 不就满足要求嘛,其实后面出的 uwp/maui 也都是 xaml 那套东西
说到官方技术支持,就算是富哥们儿钱也不能这么造啊
tool2d
215 天前
昨天刚看到个 windows 界面开发相关的视频,可能和楼主第二条不符,但是思路还是可以借鉴的

https://www.bilibili.com/video/BV1rC4y1L7dX

这人比较罗嗦,我个人总结,就是 GUI 区分为 IM 模式和 RM 模式。

IM 模式指的是即时渲染,也就是可以不需要保存当前控件状态,你需要直接查状态就可以了,因为界面在不断刷新。

RM 模式是传统的 GUI 消息模式,保存了所有控件的状态,比如某个按钮被点击了,会触发回调函数。需要完整 GUI 框架才能运行。

视频推荐了 IM 模式进行开发,对比 RM 有一个好处,就是能极大化简 GUI 相关代码(因为不用管理状态)。
chen006
215 天前
用.NET 做界面的话,可以在这些中挑下 WinForm, WPF, UWP, WinUI, Xamarin, MAUI, Blazor, Windows Community Toolkit, Uno Platform, Avalonia, Comet, ReactiveUI, Chromely, EdgeSharp, Electron.NET
mmdsun
215 天前
verrickt
215 天前
WPF 或者 WIN UI 3 ,UWP 已经半死不活了
ysc3839
215 天前
如果追求体积小、现代化、微软支持、且排除 C++,那可以看看 React Native for Windows 。不涉及一些底层功能的话,只需要写 js 即可。底层界面框架是 Win10 自带的 WinUI2 ,不需要随程序附带。编译后 exe 印象中只有几百 KB ,React Native 的 dll 大概是 4MB 左右吧,以及你程序的资源文件,看复杂度有大有小。
ysc3839
215 天前
另外要真正追求“Windows 正统”的话,其实只有 Win32 和 WinUI2 可选,因为只有这两者是 Windows 内置的。其他像 WPF 那些虽然是微软推出的,但是是比较独立于 Windows 本身的,去掉 .NET 部分也不会影响系统大部分功能。
qrobot
215 天前
那当然是 Microsoft DirectX , 楼上都是扯淡, Microsoft DirectX 才是王道 [doge]
qrobot
215 天前
@qrobot 保证正版微软支持, 并且满足以上所有需求. 不和语言绑定
elechi
215 天前
WPF ,要不 webview2
hez2010
215 天前
WinUI 3
subframe75361
215 天前
webview2 是目前主推的吧
idealhs
215 天前
小项目直接 winform, 大一点上 WPF,我说的,少看那些微软基于 webview 的东西,会变得不幸,微软后期推的技术都是一股咖喱味并且不太负责任,而 winform 和 WPF 是经典永不过时,大量工业软件都在使用它们,微软需要对这些技术负责,Windows 活一天他们活一天.并且他们的技术并不老旧一直在维护,winform 甚至都可以基于.net8 开发,我也推荐基于最新的.net8 sdk 而不是 framework 去开发.
encro
215 天前
你这几乎指定了就是 WPF 。

WPF 那么好学好用的。
flyico
215 天前
winform/wfp: 你直接念我身份证号得了
ysc3839
215 天前
@idealhs
“经典永不过时,大量工业软件都在使用它们,微软需要对这些技术负责”
MFC 也符合上述说法

“winform 甚至都可以基于.net8 开发”
最新的 VS2023 ,C++20 都能用 MFC

“并且他们的技术并不老旧一直在维护”
WPF 似乎一直只支持 Direct3D9 渲染,那么多年了也没有更新

WinForm 和 WPF 估计已经进入维护模式了,就和 MFC 、IE 一样,微软停止更新后一般也会维护很长一段时间,但这不能代表好坏。
haierspi
215 天前
react native, flutter ,Electron 三个任选吧.. 不过从上手难度来说 react native ,Electron 最低... 毕竟不用再学一门语言 直接 JS 就搞定了

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

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

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

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

© 2021 V2EX