V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
villivateur
V2EX  ›  程序员

微软的 MAUI 有可能支持 Linux 吗?

  •  
  •   villivateur · 2022-09-19 15:37:10 +08:00 · 7384 次点击
    这是一个创建于 829 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近接触了很多 GUI 框架,包括 .Net 、Qt 、Electron 。

    个人感觉用起来最舒服的还是 .Net ,因为 Visual Studio 和 C# 的体验真的太棒了,智能补全、热重载、极其完善的文档……只不过生态目前还仅局限在 Windows 上,Xamarin 也只不过增加了移动端,MAUI 倒是又多了 MacOS ,但是对于经常写上位机的我好像也没什么用。

    Qt 的体验让我感觉很糟糕,C++ 版的我没有详细体验,但是 PyQt 用起来真的不舒服,逻辑与内容样式不分离,Python 的动态语言特性写 UI 更糟糕,拖控件的话还得用几个额外的工具。

    Electron 写起来也挺舒服,但是其性能及体积一直被人诟病……

    我现在最希望的就是 MAUI 能支持 Linux 。

    40 条回复    2023-03-19 02:59:50 +08:00
    surbomfla
        1
    surbomfla  
       2022-09-19 15:40:22 +08:00
    很奇怪为什么 MAUI 不支持 windows7 以及早期版本的 windows10
    LokiSharp
        2
    LokiSharp  
       2022-09-19 15:40:27 +08:00
    MAUI 就是 Xamarin 改的,然而。。。看起来微软没想支持 Linux 的样子
    wdwwtzy
        3
    wdwwtzy  
       2022-09-19 15:43:15 +08:00   ❤️ 2
    官方说交给社区去做
    好像社区做了半天没动静了。等等看吧。
    也可以考虑 https://github.com/AvaloniaUI/Avalonia
    quan01994
        4
    quan01994  
       2022-09-19 15:44:30 +08:00
    没有
    我再等 webview2 支持 linux
    wdwwtzy
        5
    wdwwtzy  
       2022-09-19 15:48:00 +08:00   ❤️ 1
    shijingshijing
        6
    shijingshijing  
       2022-09-19 15:55:46 +08:00
    狗都不用。
    villivateur
        7
    villivateur  
    OP
       2022-09-19 16:01:01 +08:00
    @wdwwtzy 非常感谢,Avalonia 似乎就是我想要的样子
    agagega
        8
    agagega  
       2022-09-19 16:04:54 +08:00 via iPhone
    MAUI 相比 WinUI 3 成熟吗,感觉对熟悉 Apple 平台的开发者可以用来开发 Android/Windows 应用
    ragnaroks
        9
    ragnaroks  
       2022-09-19 16:24:03 +08:00
    @agagega WinUI 3 就是 MAUI 在 windows 的实现
    ragnaroks
        10
    ragnaroks  
       2022-09-19 16:25:28 +08:00
    MAUI 一定会支持 linux ,只是时间问题,微软现在对 linux 也算看重
    hez2010
        11
    hez2010  
       2022-09-19 16:31:37 +08:00   ❤️ 1
    Avalonia 11.0 配合 FluentAvalonia 2.0 等于跨平台的 WinUI 3 ,并且还支持 NativeAOT 。
    hez2010
        12
    hez2010  
       2022-09-19 16:32:19 +08:00
    @hez2010 至于体积的话,NativeAOT + Compress 发布最后可以得到一个不到 20mb 的单文件 exe ,算上全部依赖也就 30mb
    Jirajine
        13
    Jirajine  
       2022-09-19 16:54:15 +08:00
    @ragnaroks 得了吧,连个 debugger 都不给用,toolchain 绑定 Windows+vs ,会投入资源到 Windows 的竞品平台?
    dotnet 宣称开源跨平台,但 M$始终确保你必须是客户才真正有用。
    https://isdotnetopen.com/
    Chad0000
        14
    Chad0000  
       2022-09-19 17:03:15 +08:00 via iPhone
    @Jirajine 能在 Linux 上跑就已经不错了,不能指望开发工具。反观苹果,有没有让 Xcode 哪怕 app 能在占主流的 Windows 上跑跑?
    yinanc
        15
    yinanc  
       2022-09-19 17:08:52 +08:00
    微软现在似乎对 webview 更看重点,Windows 上很多组件已经 /正在用 webview 重写了
    Jirajine
        16
    Jirajine  
       2022-09-19 17:18:22 +08:00
    @Chad0000 那当然,要是和果子比肯定是最糟的,Swift 应该是唯一一个不跨平台的 llvm 现代编程语言。
    zhuyw2006
        17
    zhuyw2006  
       2022-09-19 17:36:36 +08:00
    @shijingshijing 那你有用还是没用呢?
    shijingshijing
        18
    shijingshijing  
       2022-09-19 17:52:04 +08:00
    @zhuyw2006 看都不看,微软自己玩吧
    madao1993
        19
    madao1993  
       2022-09-19 18:13:50 +08:00   ❤️ 1
    B 站上“微软 Reactor_SH”其中的一个录播“BV15G4y1a7my”( 7 分 15 秒)提到过,说是会支持 Linux 的。
    stephenyin
        20
    stephenyin  
       2022-09-19 18:40:52 +08:00
    笑尿,我们大 Linux 需要微软看重!🤣一边凉快去吧!
    wlh233
        21
    wlh233  
       2022-09-19 21:16:55 +08:00   ❤️ 1
    kde 社区也有个 maui ,微软改名的时候还抗议过,然而势单力薄
    mmdsun
        22
    mmdsun  
       2022-09-20 00:09:25 +08:00
    Xamarin 的时候就有社区版的 Linux 桌面。
    更看好 webview2
    zhanghua0
        23
    zhanghua0  
       2022-09-20 08:06:28 +08:00 via Android
    巨硬现在准备等 Linux 支持从社区里面自然地长出来(
    GiantHard
        24
    GiantHard  
       2022-09-20 08:30:24 +08:00 via Android
    可以关注一下 Uno Platform 跟 Avalonia ,跨平台支持比 MAUI 好得多
    huang119412
        25
    huang119412  
       2022-09-20 08:53:20 +08:00
    永远永远不要相信微软的 UI 库。QT 再难用,这么多年专心维护,连 chrome 都考虑使用 QT
    ragnaroks
        26
    ragnaroks  
       2022-09-20 08:56:23 +08:00
    @Jirajine 总而言之,时间问题。微软还说过永远不支持 linux ,这不是已经被打脸过了?在商业价值面前技术主管想不支持董事会也会逼着支持,除非毫无价值。看的出来你还是比较关心 dotnet 的,不然不会这么激动反驳,可以坐和放宽,如果微软又开始搞封闭那个时候再去屌他也不迟。
    ragnaroks
        27
    ragnaroks  
       2022-09-20 08:57:53 +08:00
    @huang119412 确实,我自己写桌面平台都不用 WPF 了,第三方的 UNO 比官方的好用 10 倍甚至 9 倍
    god7d
        28
    god7d  
       2022-09-20 09:43:18 +08:00
    @ragnaroks 10 倍甚至 9 倍?
    a33291
        29
    a33291  
       2022-09-20 10:01:14 +08:00
    有些高端用户怼别人,"linux 上 cmd 一把梭,低效 ui 也好意思染指?"
    现在另一些高端用户,"微软出 ui 框架居然不官方支持 linux?"

    笑死
    ragnaroks
        30
    ragnaroks  
       2022-09-20 10:10:48 +08:00
    @god7d 你搜索一下就知道意思了
    feirisu
        31
    feirisu  
       2022-09-20 10:24:05 +08:00
    别说 linux 了,不支持 win7 ,gou 都不用
    masquerader
        32
    masquerader  
       2022-09-20 10:40:34 +08:00
    .NET 不是 GUI 框架。
    我认为楼主不要指望 MAUI 得到微软的官方支持 Linux 了,微软说过这方面要靠社区的努力了。等社区的贡献出来了都猴年马月了,另外毕竟不是官方,各种新特性支持都慢上一拍不说,各种小毛病恐怕也是非常影响开发体验的。
    虽说微软在 GUI 技术上朝秦暮楚不断变化,但如果跟着微软的技术路线走,学了 XAML + MVVM 模式肯定是有用的,很对 GUI 框架都用得到,包括 MAUI 也是用 XAML 。不满意当前的 GUI 框架换一个的学习成本相对是非常低的。
    Jirajine
        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 桌面平台根本不存在一样。
    liuguang
        34
    liuguang  
       2022-09-20 14:35:35 +08:00
    用 webview 的 gui 框架,不值得。性能绝对很差,目前兼容性也不好。
    nothingistrue
        35
    nothingistrue  
       2022-09-20 17:18:27 +08:00
    如果你用过 Windows Phone / Windows 10 Mobile ,你就会知道微软的跨平台只能呵呵。不管是出于成本,还是出于知识产权的考虑,微软跨平台的一贯策略是自己做架子,然后让社区 /对手去实现。虽说确实是开放,但是社区 /对手哪来的动力去实现,结果必然是 Alpha 版本都出不来就 GG 。
    Damn
        37
    Damn  
       2022-09-20 18:51:12 +08:00
    @madao1993 参考 windows sandbox ,发布会 3 年过去了,rail mode 还在纸面上。。
    slowhand
        38
    slowhand  
       2022-09-21 10:09:49 +08:00
    可能会有,但是不报任何希望。
    作为曾经的 wp 手机用户,项目中也曾经用过 win iot (后来改用 electron ),表示已经习惯了。
    因为一直用 C#做上位机通讯,也体验了一下 maui ,把自己以前 C#做的通讯( modbus ,mqtt )测试工具,移到安卓端,居然能用,觉得挺惊喜的;但是想找个简单的弹出通知的功能时,又觉得像是个半成品了。
    seakingii
        39
    seakingii  
       2022-09-21 18:17:09 +08:00
    @slowhand 这两天在学 MAUI,发现问题很多,好多简单的事也不好做,而且文档很少,找来找去只有官方写的一些文档 ,第三方库接近零,真的是半成品中的半成品,业界估计也不看好
    jetkeey
        40
    jetkeey  
       2023-03-19 02:59:50 +08:00 via iPhone
    这个帖子还有人关注么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   989 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:49 · PVG 05:49 · LAX 13:49 · JFK 16:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.