V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
blinue
V2EX  ›  Windows

WinUI 3 的源代码已放出

  •  1
     
  •   blinue · Oct 26, 2023 · 5154 views
    This topic created in 924 days ago, the information mentioned may be changed or developed.

    https://github.com/microsoft/microsoft-ui-xaml/releases

    WindowsAppSDK 曾将开源作为卖点,但直到两年后才终于发布了部分源代码,而且无法编译。官方的说法是仅供调试,不接受贡献。这不是“open source”,而是“source available”。

    WinUI 3 处于烂泥扶不上墙的状态,就目前的开发状况,微软说不定又要另起炉灶了。

    20 replies    2023-10-27 09:56:21 +08:00
    eagleoflqj
        1
    eagleoflqj  
       Oct 26, 2023 via iPhone   ❤️ 6
    是 open source 还是 source available ,只看许可证,不看是否接受贡献。sqlite3 因为要保证 public domain 不接受贡献,draw.io 不信任外部贡献者的代码质量不接受贡献,不影响它们的开源属性。
    当然不能编译是太烂了,相当于事实上的 source available
    sloknyyz
        2
    sloknyyz  
       Oct 26, 2023   ❤️ 1
    微软前前后后搞了多少套 ui 了,都没几个人用。
    zxCoder
        3
    zxCoder  
       Oct 26, 2023
    是 c# 语言?
    forbreak
        4
    forbreak  
       Oct 26, 2023   ❤️ 2
    微软传统,搞事情,搞着搞着不搞了。
    yolee599
        5
    yolee599  
       Oct 26, 2023
    弃坑是微软老传统了,Visual Basic 6.0 ,Windows Phone ,都是搞着搞着就弃坑了
    wanguorui123
        6
    wanguorui123  
       Oct 26, 2023
    微软官方的东西少碰
    weijancc
        7
    weijancc  
       Oct 26, 2023
    @1145148964 #1 draw.io 竟然有这种操作, 我看贡献基本就两个作者在维护
    sky96111
        8
    sky96111  
       Oct 26, 2023
    @sloknyyz 但好看是真的好看,设计感和统一性都很喜欢
    securityCoding
        9
    securityCoding  
       Oct 26, 2023
    @wanguorui123 一般推荐是不要碰
    hez2010
        10
    hez2010  
       Oct 26, 2023
    另起炉灶倒不会,现在 Windows 自己的系统应用正在一个接一个迁移到 WinUI 3 。
    多亏 explorer 也迁移到 WinUI 3 了,微软在这个过程中发现了大量的 bug 然后修掉推出了 WASDK 1.4.x 版本,这个版本的稳定性直接甩了之前的 WASDK 老版本们几条街。只能说自己的东西如果自己都不用的话,那是不可能知道里面有多少问题的。而现在微软自己开始用 WinUI 3 了,而且还是在自家系统的核心应用上,基本也标志着离成熟不远了,大家都可以用起来了。
    ikas
        11
    ikas  
       Oct 26, 2023
    WinUI 3 没有那么不堪吧,使用 c++ winui3 重构之前使用 sdl2+win32ui 写的 app,效果还是可以的.
    主要问题其实是 c#来写太慢了,这个不是 winui3 的锅,只是到现在也没法原生编译,比使用 c# uwp 原生编译慢太多了
    hez2010
        12
    hez2010  
       Oct 26, 2023
    @zxCoder 是 C++ 写的 WinRT component ,可以提供给任何语言来使用: https://github.com/microsoft/microsoft-ui-xaml/tree/winui3/release/1.4-stable/controls/dev
    ambition117
        13
    ambition117  
       Oct 26, 2023
    怎么就烂泥扶不上墙了,win11 一堆组件都用 winui 3 重写了
    daokedao
        14
    daokedao  
       Oct 26, 2023
    需要 Window 10 以上,以前的系统不支持,还是用不了啊
    Jirajine
        15
    Jirajine  
       Oct 26, 2023 via Android
    上次听说 winui3 还是刚发布预览的时候,号称 uwp 和普通应用合并之类的,总不能又烂尾了吧。
    blinue
        16
    blinue  
    OP
       Oct 26, 2023
    @hez2010 #10 资源管理器使用 WinUI 3 后的性能和稳定性有目共睹。目前 Win11 使用 WASDK 的系统应用非常少,似乎只有资源管理器和开发人员主页,其他的都是 UWP 或 XAML Islands 。
    blinue
        17
    blinue  
    OP
       Oct 26, 2023
    @ambition117 #13 WinUI 3 的开发体验和用户体验都不如人意,列举几点:

    1. 性能差。WinUI 3 应用的启动速度慢,整体性能也不如 UWP ,两年过去了依然没有改善。
    2. bug 多。WinRT API 最初是专门为 UWP 设计的,现在想让 Win32 应用使用它们经常会有水土不服的情况。这方面 WASDK 和 XAML Islands 情况差不多,都有大量的 bug 。有些 bug 涉及系统底层,修复需要很大的代价,比如管理员身份下拖拽会崩溃。WASDK 最让我恼火的还是怎么都修不好的标题栏。
    3. 不响应社区的反馈。WASDK 和 WinUI 仓库的 issue 基本不会得到回复。前一段时间还大量关闭了 WinUI 仓库无人响应的旧 issue 。这很大程度是因为开发资源不足,再结合迟缓的项目进度,显然 WASDK 项目并没有投入多少人力。
    4. 管理混乱。领导层几次更换,项目的方向也随之变化。这也导致了曾经画的饼并没有实现。
    5. 没有可视化界面设计工具,这在现代 UI 框架中是难以想象的。

    总之目前 UWP 和 XAML Islands 仍是更好的技术栈,WASDK 曾经未来可期,这个未来没有来过。
    ambition117
        18
    ambition117  
       Oct 27, 2023
    @blinue 谢谢回答。

    但是这些技术,之前从来没用到 explorer 上,就算是 wpf 都没有( longhorn 因此翻车推倒重做),说明微软还是很看好它。

    性能也是可以优化的,至少在我的 13 代处理器上没有遇到什么卡顿问题,加载一百万视频的文件夹也没有问题。
    1145148964
        19
    1145148964  
       Oct 27, 2023
    我好像明白为什么文件管理器整天爆炸了
    PrinceofInj
        20
    PrinceofInj  
       Oct 27, 2023
    @ambition117 #18 LH 也就是在那时。换成现在的话,微软就跟直接发布出来。毕竟当时 LH 完成度还算行。能用了。KPI 的产物。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1191 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 17:48 · PVG 01:48 · LAX 10:48 · JFK 13:48
    ♥ Do have faith in what you're doing.