考虑开发一个原生的 Win 平台 App,一调研技术傻眼了 Winform WPF 已死 UWP 半死不活 Xamarin 即将绝响 俩新玩意 MAUI WinUI3,但好像都还是早期阶段 试问 Win 平台就没有一个可以和 SwiftUI,Jetpack 媲美的原生框架吗?
1
h82258652 2021-01-27 14:51:27 +08:00
WinUI,然而这玩意至少要等三月份 0.5 版出来才能用。
|
2
ysc3839 2021-01-27 15:03:45 +08:00 via Android 3
Win32 平台长期以来都没有什么主推的 UI 框架的,MFC 曾经可能算,但是很多年前就停止加入新功能了。
Windows 内部有个 DirectUI 框架,可惜是私有的。 WPF 虽然是平台相关,但是跟语言捆死,我觉得在 Windows 这种较为开放的平台上算不上系统级的框架,只能说是语言级别的。(虽然 macOS 中 UI 框架也是跟 objc 和 Swift 捆死,但相比之下 macOS 没那么开放,连大部分系统 API 都是和 objc 捆死的。而 Windows 的 API 基本上都是可用 C 语言调用,某种意义上并不和语言绑定) 后面 UWP 出来之后 Windows 有了系统级的 Windows.Xaml.UI ,不过长期以来仅限于 UWP 应用使用,直到最近才开放给 Win32 。 |
3
q197 2021-01-27 15:10:50 +08:00
期待 winui3 maui 这些。其实现在大家希望的是跨平台,小文件,后端性能还行的解决方案。net5+maui 可能可以火。winui 也不错,uwp 的界面(更重要的是支持触摸手势、手柄等特殊输入),win32 的权限。
|
4
wanguorui123 2021-01-27 15:10:55 +08:00
Windows 平台的原生开发越来越小众了,我以前是搞 WinForm/WPF 的,现在能不用原生就不用
|
5
ysc3839 2021-01-27 15:15:07 +08:00 via Android
对于 Win32,还是以 POSIX 的角度去看待吧,基本上可以认为是类似 POSIX 这种系统底层功能,加上简单的界面功能,还是上个世纪的设计思路。和 21 世纪的 macOS, Android 这种“丰富 API”的系统没有可比性。
|
6
QBugHunter 2021-01-27 15:17:47 +08:00 4
《 windows 编程革命简史》
这篇文章可以参考下,合适微软一贯的作风 |
7
paradoxs 2021-01-27 15:18:22 +08:00
没推的了。。 用电脑的人越来越少了。 全部绝迹早晚的事
|
8
AndyAO 2021-01-27 15:19:19 +08:00
"WPF 已死"的结论是从哪里来的?
|
10
dk7952638 OP @QBugHunter 这文章写的真好
|
11
mosfet 2021-01-27 15:24:36 +08:00
那就 Qt 好了
|
12
AndyAO 2021-01-27 15:26:56 +08:00
经常能看见这种问题,抛出比较惊人的说法,问问大家的意见是什么样子的,但是对于那个说法,本身却没有给出任何的证据。
知乎上经常会说「先问有没有」,我觉得这是说的很好的。 WPF 刚更新了,而且.NET5 也是支持 WPF 的,没有理由说已经死了。 等到已经不更新了,甚至官方直接明说放弃支持了,那个时候再说死了这种话,那样才对吧。 |
13
ysc3839 2021-01-27 15:39:24 +08:00 via Android
@dk7952638 我只是业余玩玩……并不专业。
要我推荐的话,我大概会推荐 Qt 。 如果不考虑兼容旧系统的话 (至少 Win10 1903),可以试试 UWP 那个 XAML UI,但是相关资源应该会比 Qt 少很多。 愿意学 C# 那套的话选 WPF 也行,不过我自己还是偏好 C++。 |
14
Chenamy2017 2021-01-27 15:54:41 +08:00
原生的不指望,推荐 Qt 。
不过我现在用 Electron 。 |
16
SWALLOWW 2021-01-27 17:02:29 +08:00
wpf/winform 在线接活,我觉得没有死,windows 应用最快最全面就是这两个,wpfui 还多,好看,以后也支持,至少中国主流非互联网公司搞 windows 的有一大部分。
另外从支持的角度,不外乎 windows 系统,windwos 不外乎.net framework,只要这个不变,就算 wpf100 年不更新有关系吗? |
17
CallMeReznov 2021-01-27 17:06:48 +08:00
最近用 winform 写了几个小工具,突然想喊一句 winform 天下第一!
托就完事了! |
18
across 2021-01-27 17:12:28 +08:00 via iPhone
想问问这个调研怎么做的。和移动端 web 端问他们 windows 用啥 ui 框架?
|
19
muraku 2021-01-27 18:35:00 +08:00 via iPhone 1
目前微软正式版的技术中最先进的应该就是 winui2+uwp 了
|
20
Tink 2021-01-27 18:49:20 +08:00 via Android
qt 吧
|
21
ylqhust 2021-01-27 19:31:47 +08:00 1
libcef+react
|
22
fiveelementgid 2021-01-27 20:22:26 +08:00 via Android
四个字母的 MAUI ?记不太清了
现在的话 可以考虑一下 Blazor |
23
luchong 2021-01-27 20:38:26 +08:00
@fiveelementgid Blazor 这玩意貌似是针对 web 的 桌面端 WPF 挺香的 不过微软想主推 uwp 但 uwp 条件有点苛刻 win101803 版本以下的不支持 相对来说 WPF 目前算是比较成熟的解决方案了 MAUI 理论上是整合了 Xamarin
|
24
Devin 2021-01-27 20:59:26 +08:00 via Android
wpf 的创作者真是天才,如果不是移动端趋势,微软能继续打磨 wpf 就好了
|
26
12101111 2021-01-27 22:29:01 +08:00
@dk7952638 微软最新的 Windows10 X 系统原生 GUI 只有 UWP, 其他 UI 一律容器(轻量级虚拟机)里跑
|
27
danieladu 2021-01-27 22:39:46 +08:00 via Android
electron
|
28
cmdOptionKana 2021-01-27 23:45:00 +08:00 via Android
现在用 Mac 的人不少了,所以一般都考虑跨平台方案。
|
29
mmdsun 2021-01-28 00:14:24 +08:00 via Android
https://developer.microsoft.com/zh-cn/windows/get-started-windows-10/
Windows UI (WinUI) 库和 Project Reunion 是最新技术。 |
30
nerocc 2021-01-28 07:04:33 +08:00 via Android 3
|
32
fiveelementgid 2021-01-28 17:27:36 +08:00 via Android
@luchong Blazor 好像有 Web API pattern,差不多
|
33
nerocc 2021-01-28 22:27:09 +08:00 via Android
@dk7952638 暂时不可以,Project Reunion 就是朝向这个目的走过去的,今年底只能做到 Win32 的 WinUI 3 。剩下的要等明年.NET 6 适配 UWP 。但是目前最成熟的 WinUI 技术都在 2.x 的 UWP 里。所以你要是不需要 Win32 权限,官方最推荐直接写 UWP 。如果你需要 Win32 权限,可以用 XAML Island 在 Win32 里面 host UWP 的 UI 。当然除此之外还有 React Native for Windows 。然后今年 Rust 应该也快要可以写 WinUI 的应用了。Rust for Windows 刚刚做到了能创建 COM,所以下一步就是可以跟 XAML 交互了。
|