最近接触了很多 GUI 框架,包括 .Net 、Qt 、Electron 。
个人感觉用起来最舒服的还是 .Net ,因为 Visual Studio 和 C# 的体验真的太棒了,智能补全、热重载、极其完善的文档……只不过生态目前还仅局限在 Windows 上,Xamarin 也只不过增加了移动端,MAUI 倒是又多了 MacOS ,但是对于经常写上位机的我好像也没什么用。
Qt 的体验让我感觉很糟糕,C++ 版的我没有详细体验,但是 PyQt 用起来真的不舒服,逻辑与内容样式不分离,Python 的动态语言特性写 UI 更糟糕,拖控件的话还得用几个额外的工具。
Electron 写起来也挺舒服,但是其性能及体积一直被人诟病……
我现在最希望的就是 MAUI 能支持 Linux 。
1
surbomfla 2022-09-19 15:40:22 +08:00
很奇怪为什么 MAUI 不支持 windows7 以及早期版本的 windows10
|
2
LokiSharp 2022-09-19 15:40:27 +08:00
MAUI 就是 Xamarin 改的,然而。。。看起来微软没想支持 Linux 的样子
|
3
wdwwtzy 2022-09-19 15:43:15 +08:00 2
|
4
quan01994 2022-09-19 15:44:30 +08:00
没有
我再等 webview2 支持 linux |
5
wdwwtzy 2022-09-19 15:48:00 +08:00 1
可以关注这个 issue
https://github.com/dotnet/maui/discussions/339 已经有社区做出了一个小 demo 了基于 gtk https://github.com/lytico/maui/tree/lytico/gtk-ongoing/src/Controls/samples/Controls.Sample.Gtk |
6
shijingshijing 2022-09-19 15:55:46 +08:00
狗都不用。
|
7
villivateur OP @wdwwtzy 非常感谢,Avalonia 似乎就是我想要的样子
|
8
agagega 2022-09-19 16:04:54 +08:00 via iPhone
MAUI 相比 WinUI 3 成熟吗,感觉对熟悉 Apple 平台的开发者可以用来开发 Android/Windows 应用
|
10
ragnaroks 2022-09-19 16:25:28 +08:00
MAUI 一定会支持 linux ,只是时间问题,微软现在对 linux 也算看重
|
11
hez2010 2022-09-19 16:31:37 +08:00 1
Avalonia 11.0 配合 FluentAvalonia 2.0 等于跨平台的 WinUI 3 ,并且还支持 NativeAOT 。
|
12
hez2010 2022-09-19 16:32:19 +08:00
@hez2010 至于体积的话,NativeAOT + Compress 发布最后可以得到一个不到 20mb 的单文件 exe ,算上全部依赖也就 30mb
|
13
Jirajine 2022-09-19 16:54:15 +08:00
@ragnaroks 得了吧,连个 debugger 都不给用,toolchain 绑定 Windows+vs ,会投入资源到 Windows 的竞品平台?
dotnet 宣称开源跨平台,但 M$始终确保你必须是客户才真正有用。 https://isdotnetopen.com/ |
14
Chad0000 2022-09-19 17:03:15 +08:00 via iPhone
@Jirajine 能在 Linux 上跑就已经不错了,不能指望开发工具。反观苹果,有没有让 Xcode 哪怕 app 能在占主流的 Windows 上跑跑?
|
15
yinanc 2022-09-19 17:08:52 +08:00
微软现在似乎对 webview 更看重点,Windows 上很多组件已经 /正在用 webview 重写了
|
17
zhuyw2006 2022-09-19 17:36:36 +08:00
@shijingshijing 那你有用还是没用呢?
|
18
shijingshijing 2022-09-19 17:52:04 +08:00
@zhuyw2006 看都不看,微软自己玩吧
|
19
madao1993 2022-09-19 18:13:50 +08:00 1
B 站上“微软 Reactor_SH”其中的一个录播“BV15G4y1a7my”( 7 分 15 秒)提到过,说是会支持 Linux 的。
|
20
stephenyin 2022-09-19 18:40:52 +08:00
笑尿,我们大 Linux 需要微软看重!🤣一边凉快去吧!
|
21
wlh233 2022-09-19 21:16:55 +08:00 1
kde 社区也有个 maui ,微软改名的时候还抗议过,然而势单力薄
|
22
mmdsun 2022-09-20 00:09:25 +08:00
Xamarin 的时候就有社区版的 Linux 桌面。
更看好 webview2 |
23
zhanghua0 2022-09-20 08:06:28 +08:00 via Android
巨硬现在准备等 Linux 支持从社区里面自然地长出来(
|
24
GiantHard 2022-09-20 08:30:24 +08:00 via Android
可以关注一下 Uno Platform 跟 Avalonia ,跨平台支持比 MAUI 好得多
|
25
huang119412 2022-09-20 08:53:20 +08:00
永远永远不要相信微软的 UI 库。QT 再难用,这么多年专心维护,连 chrome 都考虑使用 QT
|
26
ragnaroks 2022-09-20 08:56:23 +08:00
@Jirajine 总而言之,时间问题。微软还说过永远不支持 linux ,这不是已经被打脸过了?在商业价值面前技术主管想不支持董事会也会逼着支持,除非毫无价值。看的出来你还是比较关心 dotnet 的,不然不会这么激动反驳,可以坐和放宽,如果微软又开始搞封闭那个时候再去屌他也不迟。
|
27
ragnaroks 2022-09-20 08:57:53 +08:00
@huang119412 确实,我自己写桌面平台都不用 WPF 了,第三方的 UNO 比官方的好用 10 倍甚至 9 倍
|
29
a33291 2022-09-20 10:01:14 +08:00
有些高端用户怼别人,"linux 上 cmd 一把梭,低效 ui 也好意思染指?"
现在另一些高端用户,"微软出 ui 框架居然不官方支持 linux?" 笑死 |
31
feirisu 2022-09-20 10:24:05 +08:00
别说 linux 了,不支持 win7 ,gou 都不用
|
32
masquerader 2022-09-20 10:40:34 +08:00
.NET 不是 GUI 框架。
我认为楼主不要指望 MAUI 得到微软的官方支持 Linux 了,微软说过这方面要靠社区的努力了。等社区的贡献出来了都猴年马月了,另外毕竟不是官方,各种新特性支持都慢上一拍不说,各种小毛病恐怕也是非常影响开发体验的。 虽说微软在 GUI 技术上朝秦暮楚不断变化,但如果跟着微软的技术路线走,学了 XAML + MVVM 模式肯定是有用的,很对 GUI 框架都用得到,包括 MAUI 也是用 XAML 。不满意当前的 GUI 框架换一个的学习成本相对是非常低的。 |
33
Jirajine 2022-09-20 13:45:36 +08:00
@ragnaroks 其实已经开始搞了,微软著名的 EEE 已经被骂了好多遍了。以 dotnet 来说,debugger 不开源,且只授权 visual studio 系列产品使用,你自己从源码构建的 vscode 都不许用,还有之前想砍掉`dotnet watch`变成 vs 独占功能等等,isdotnetopen.com 就社区是对这一系列行为的汇总。
显然这些是商业策略的选择,至于 MAUI ,抛开商业因素,技术实现上投入也不少。连这些不需要太多技术投入的都不支持,MAUI 我想更难以奢望了。dotnet 一向是一个 pragmatic 的平台,你看 MAUI 的宣传语,好像 Linux 桌面平台根本不存在一样。 |
34
liuguang 2022-09-20 14:35:35 +08:00
用 webview 的 gui 框架,不值得。性能绝对很差,目前兼容性也不好。
|
35
nothingistrue 2022-09-20 17:18:27 +08:00
如果你用过 Windows Phone / Windows 10 Mobile ,你就会知道微软的跨平台只能呵呵。不管是出于成本,还是出于知识产权的考虑,微软跨平台的一贯策略是自己做架子,然后让社区 /对手去实现。虽说确实是开放,但是社区 /对手哪来的动力去实现,结果必然是 Alpha 版本都出不来就 GG 。
|
36
Damn 2022-09-20 18:50:00 +08:00
|
38
slowhand 2022-09-21 10:09:49 +08:00
可能会有,但是不报任何希望。
作为曾经的 wp 手机用户,项目中也曾经用过 win iot (后来改用 electron ),表示已经习惯了。 因为一直用 C#做上位机通讯,也体验了一下 maui ,把自己以前 C#做的通讯( modbus ,mqtt )测试工具,移到安卓端,居然能用,觉得挺惊喜的;但是想找个简单的弹出通知的功能时,又觉得像是个半成品了。 |
39
seakingii 2022-09-21 18:17:09 +08:00
@slowhand 这两天在学 MAUI,发现问题很多,好多简单的事也不好做,而且文档很少,找来找去只有官方写的一些文档 ,第三方库接近零,真的是半成品中的半成品,业界估计也不看好
|
40
jetkeey 2023-03-19 02:59:50 +08:00 via iPhone
这个帖子还有人关注么?
|