V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
noritanu
V2EX  ›  .NET

.Net Core 目前 GUI 开发有什么推荐?

  •  
  •   noritanu · 2020-12-16 17:33:15 +08:00 via Android · 6963 次点击
    这是一个创建于 1471 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在搞一个跨平台的(主要是 windows 和 linux )项目,之前没这方面的经验,.Net Core 5 又发布不久,想问问大佬们现在最优的 GUI 开发选择是什么。
    26 条回复    2021-05-07 18:38:52 +08:00
    MinQ
        1
    MinQ  
       2020-12-16 17:40:09 +08:00
    Avalonia UI Framework ?
    wddxm
        2
    wddxm  
       2020-12-16 17:48:26 +08:00
    Electron
    12101111
        3
    12101111  
       2020-12-16 17:54:07 +08:00
    chenqh
        4
    chenqh  
       2020-12-16 17:58:43 +08:00
    跨平台 GUI,.net 好像做不到
    BuffDog
        5
    BuffDog  
       2020-12-16 18:01:11 +08:00
    AvaloniaUI
    nightwitch
        6
    nightwitch  
       2020-12-16 18:04:52 +08:00
    官方的 wpf 没做跨平台
    ZSeptember
        7
    ZSeptember  
       2020-12-16 18:13:09 +08:00
    qiufengshe
        8
    qiufengshe  
       2020-12-16 18:14:38 +08:00
    可以看看 Sciter
    billzhuang
        9
    billzhuang  
       2020-12-16 18:17:00 +08:00
    Avalonia , rider 2020.3 官方支持
    hoyixi
        10
    hoyixi  
       2020-12-16 18:21:34 +08:00
    别说跨平台了,Win10 自己平台下的 GUI 开发,都是乱糟糟,WPF,然后说什么摒弃 Win32 GUI 那套绘制,搞 UWP,搞得都半死不活~

    假如 Win 的.Net Core 设计之初就能考虑带个跨平台的 GUI 库,然后当初直接用它开发和推出 VS Code, 顺带推广,绝对是一步好棋,也能解决好多 GUI 开发者的痛点。也许是没得赚吧。
    CrazyBoyFeng
        11
    CrazyBoyFeng  
       2020-12-16 18:26:42 +08:00
    不如用 webview 套 html,但要对不同的平台适配 webview 。
    高级点起个 http 服务器,相当于把 web 后端写到客户端里。
    fiveelementgid
        12
    fiveelementgid  
       2020-12-16 18:32:36 +08:00 via Android
    @hoyixi 这个确实
    .Net Core 没有跨平台 GUI 的开发玩意
    准确来说.NET Core 3.1 已经是最后一个版本了
    现在整合成了.NET 5,但是还是没有 GUI 支持
    看看 web 套壳的话,推荐 Blazor
    fiveelementgid
        13
    fiveelementgid  
       2020-12-16 18:33:46 +08:00 via Android
    @ZSeptember 可以参考这个,但是还没上线
    这是.NET 6,明年才会发布
    netnr
        14
    netnr  
       2020-12-16 18:35:11 +08:00 via Android
    #10 我也想说 vscode 这么好的一步棋
    目前看 blazor 套壳子 看有不有得搞
    beginor
        15
    beginor  
       2020-12-16 19:06:34 +08:00 via Android
    Mono + Gtk# , 标杆就是 Mono Develop, 也就是 Visual Studio for Mac
    noritanu
        16
    noritanu  
    OP
       2020-12-16 19:11:56 +08:00 via Android
    @fiveelementgid 有在看,不过手头这个项目是等不了了
    noritanu
        17
    noritanu  
    OP
       2020-12-16 19:25:53 +08:00 via Android
    @hoyixi 海,其实我自己看命令行就行了,老板突然要看 GUI,还要我做跨平台。现在就来找个省事的用着先。
    AmrtaShiva
        18
    AmrtaShiva  
       2020-12-16 19:28:05 +08:00 via iPhone
    @12101111 这个看着不错
    xiaoyanbot
        19
    xiaoyanbot  
       2020-12-16 19:29:53 +08:00
    winforms ?
    fiveelementgid
        20
    fiveelementgid  
       2020-12-16 20:16:20 +08:00 via Android
    @noritanu .........那就没办法了,我想到的只有 Blazor,其他不知道
    darknoll
        21
    darknoll  
       2020-12-16 20:19:06 +08:00
    我给你指条明路:不要用微软的技术
    noritanu
        22
    noritanu  
    OP
       2020-12-16 20:24:15 +08:00 via Android
    @fiveelementgid 我觉得可以
    ysc3839
        23
    ysc3839  
       2020-12-16 20:25:32 +08:00 via Android
    @hoyixi Win32 那套其实在 WPF 出来后就算被抛弃了。绘图基于传统 GDI 以及一个控件对应一个原生窗口,开发麻烦。微软自己都在使用一个私有的 UI 库。但问题是 WPF 跟.Net 捆死,加上微软对开发者控制力不足,使得很多开发者仍然在使用传统的 UI 。
    至于 UWP,我觉得问题在于微软直接禁用了很多好用的 Win32 API,强迫开发者去用那套新的现代 API 。苹果的做法就挺好,保留了传统的 POSIX API,而不是强迫开发者去用那套复杂的现代 API 。
    至于跨平台,苹果的 UI 框架也不能跨平台的,不把市场让给竞争对手,这很正常。
    AmrtaShiva
        24
    AmrtaShiva  
       2020-12-16 20:31:11 +08:00 via iPhone
    @ZSeptember 这个还没发布...
    bung
        25
    bung  
       2020-12-17 12:47:33 +08:00
    KeyboardManAnAn
        26
    KeyboardManAnAn  
       2021-05-07 18:38:52 +08:00
    @beginor 然而这个标杆要使用 Native UI 组件替代 GTK 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2933 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:45 · PVG 22:45 · LAX 06:45 · JFK 09:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.