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