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

2023-10-07 10:49:01 +08:00
 iorilu

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

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

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

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

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

定好了直接开干。

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

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

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

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

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

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

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

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

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

WinForm 和 WPF 估计已经进入维护模式了,就和 MFC 、IE 一样,微软停止更新后一般也会维护很长一段时间,但这不能代表好坏。
haierspi
2023-10-07 15:48:05 +08:00
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