1
sun1991 2021-11-11 09:40:01 +08:00
反正 WPF 只能在 Windows 平台跑, 又不能跨平台, 干嘛用.net core
.net framework 目前 Windows 都内置了, 省心省力 |
3
EvanQu 2021-11-11 09:46:53 +08:00
用 maui 吧
|
7
n0th1ng 2021-11-11 10:01:13 +08:00
用 WinUI 3
Maui 在 Windows 下用的是 WinUI 3 |
10
reallittoma 2021-11-11 10:30:14 +08:00
.NET Framework 跟 .NET Core 的 WPF API 不是都长一个样吗?运行时不兼容而已
|
11
reallittoma 2021-11-11 10:31:40 +08:00
@EvanQu #3 vs 2022 里面的 maui 貌似还不能用,新建的项目都没法编译
|
12
liuser666 OP @reallittoma 除了运行时不兼容外,很多 nuget 包都不兼容。
|
13
jZH 2021-11-11 10:32:05 +08:00
还在用 MFC 的漂过
|
14
reallittoma 2021-11-11 10:34:03 +08:00
|
15
0312birdzhang 2021-11-11 10:47:14 +08:00
用 Qt (大雾
|
16
towser 2021-11-11 10:52:32 +08:00
maui 不支持 win7
|
17
cmdOptionKana 2021-11-11 11:24:31 +08:00
Electron 欢迎你,大势所趋,微软自己也用。
|
18
wanguorui123 2021-11-11 11:27:48 +08:00
微软的东西就是半壶水,应该是为了维持垄断地位不是技术问题
|
19
ligiggy 2021-11-11 11:41:02 +08:00
不是很懂,你想说的什么,你想用系统 API 干什么?你有多了解你现在用的技术?真的跟框架有关吗?
|
20
nicknick 2021-11-11 12:00:47 +08:00 via Android
红色:我们要支持国产化,不要用 window 。黑色:去他的充满铜臭味的 os 。
|
21
Sain 2021-11-11 12:10:08 +08:00
Electron 吧
|
22
cjw1115 2021-11-11 12:52:31 +08:00
感觉还是你水平问题,WinRT 的 API 基本上满足绝大多数开发场景。
|
23
liuser666 OP @cjw1115 我要获取其他应用窗口的句柄,目的是 title 。GetWindowTextA ,有什么办法吗?
|
24
12101111 2021-11-11 14:07:36 +08:00
不用考虑.NET framework 了,微软明确说不更了, 地位就和 Windows 自带的 IE 内核一样了,只是为了兼容性才放在那里
.NET 6 支持 winUI 也支持 wpf 和 winform, 想用哪个用哪个啊, 都是开源的 |
25
MakHoCheung 2021-11-11 14:11:14 +08:00
@cmdOptionKana 微软的 Teams 都抛弃 Electron ,还大势所趋
|
26
wafm 2021-11-11 15:01:10 +08:00
易语言欢迎你
|
28
reallittoma 2021-11-11 15:52:02 +08:00
@liuser666 #23 .NET Core 支持 P/Invoke 的,nuget 上也有封装好的包,可以直接用那个
|
29
yuancoder 2021-11-11 16:49:03 +08:00
微软老传统了
|
30
Jwyt 2021-11-11 16:51:44 +08:00
@MakHoCheung vsc ?
|
31
KeyboardManAnAn 2021-11-11 16:52:45 +08:00
@MakHoCheung Electron 对用户来说, 就是一场灾难啊, 十几个套壳应用一起跑, 那酸爽的感觉, 嗯...
|
32
g00001 2021-11-11 17:26:14 +08:00
再强大再万能的东西都有他的局限。
例如万能的 Python 网上搜一下也有很多跑去用 Python + aardio 做桌面开发。 .Net 就是房车,复杂就是他的使命。 要简单和接口自由可以开 aardio 这种小自行车。 官网上有篇文章《看看短短几句 aardio 代码能做什么》,抠了几段过来: aardio 调用原生 API ----------------------------------- ::User32.GetCursorPos({ INT x; INT y; }); aardio 调用 .Net ----------------------------------- import console; import dotNet; var System = dotNet.load("System").import("System"); var uri = System.Uri("https://www.aardio.com") console.log( uri.Host ); console.log( uri.GetHashCode() ); aardio 调用 Python ----------------------------------- import console; import py3; var itertools = py3.import("itertools") var permutations = itertools.permutations({"a","b","c"}); var pyList = py3.list(permutations); for( item in pyList.each() ){ console.log(item); } 将任何网络 API 自动导入 aardio ----------------------------------- import web.rest.jsonLiteClient; var http = web.rest.jsonLiteClient(); var countApi = http.api("https://api.countapi.xyz/hit{/domain}{/key}") var data = countApi["key"].get(); |
33
forgottencoast 2021-11-11 22:58:28 +08:00
开发桌面应用为什么要用 UWP ?这是为了上应用商店才会选这个的呀。
|
34
whi147 2021-11-12 08:41:17 +08:00 via iPhone
gtk 那套也能在 window 上跑
|
35
liuser666 OP @reallittoma 找到了 PInvoke.User32 这个库,简直神级
|
38
ne6rd 2022-01-04 19:59:09 +08:00
强烈赞同,API, nuget 包,网上问题用的版本名词,都特别割裂。
后来我选了 flutter ,开发体验很好,做个桌面小程序还是挺方便的。 比 Electron 省心。 |
39
coder001 2022-01-10 18:28:26 +08:00 1
我的观点:
简单的界面用 WinForms 还是挺方便的 对界面要求复杂、绚丽的话那就上 CEF ,用 Web 做 UI 无论是环境、技术层面还是对开发人员的要求,兼容性都高 而且 Blazor WASM 可以直接写 C♯ 输出静态的 Web 站点 没错,我就是讨厌 JavaScript 而想尽可能用 C♯ 解决全部问题 |
40
lujiaxing 2022-03-27 15:10:22 +08:00
现在你可以选择 Avalonia
|