V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
kvibert1
V2EX  ›  Linux

统信 UOS 桌面软件用什么工具开发?

  •  
  •   kvibert1 · Jun 12, 2024 · 6803 views
    This topic created in 685 days ago, the information mentioned may be changed or developed.
    4 个小团队,其中 3 个是 C#开发人员,另外 1 个是前端开发人员,现在有个 UOS 的桌面软件需要开发,请问各位大佬,在现有人员保持不变的情况下用什么工具和语言开发是最优解呢?
    50 replies    2024-06-26 20:48:26 +08:00
    g17
        1
    g17  
       Jun 12, 2024
    有前端就 Electron ,团队小了怎么快怎么来
    dbow
        2
    dbow  
       Jun 12, 2024
    用 Electron ,qq 微信就用 electron 开发的,跨平台,跨指令集比较容易。uos 通常需要适配好几种指令集,x86,arm,龙芯,risv
    zengxs
        3
    zengxs  
       Jun 12, 2024
    这个得看你的软件复杂度、开发工作量来定,如果是很简单的 App ,让前端兼顾一下用 electron 写写就行

    如果工作量比较大前端一个人搞不定,那你就得考虑看是否选用 dotnet 方案让 C# 人员来参与开发,或者考虑多招几个前端了
    kvibert1
        4
    kvibert1  
    OP
       Jun 12, 2024 via iPhone
    @zengxs dotnet 可以跨平台吗?
    BYDH
        5
    BYDH  
       Jun 12, 2024
    @kvibert1 .net 当然可以跨平台,开发人员搞不搞得定就是另外一回事了。在这问意义不大,不如开个会讨论一下
    zhangzhi0000
        6
    zhangzhi0000  
       Jun 12, 2024
    @kvibert1 dotnet workload install maui
    yuhuai
        7
    yuhuai  
       Jun 12, 2024
    你们组里有人会 wpf 吗,会就考虑一下 avalonia ,maui 还得踩坑,electron 的工程结构和常规的前端并不一样,用之前要考虑清除,前端熟不熟悉这快,赶鸭子上架势必出问题
    yuhuai
        8
    yuhuai  
       Jun 12, 2024
    顺便注意,maui 没有官方的 linux 支持,只有由社区维护的分支,不建议使用
    yylxbiubiu
        9
    yylxbiubiu  
       Jun 12, 2024
    我这之前也是在 UOS 上开发的软件 用 electron 打成 deb 包然后找统信签名 使用 electron 可以快速开发,有开发经验的后端直接去写 node 是没啥问题的 复杂的无非就是进程间通信、多窗口这些
    a33291
        10
    a33291  
       Jun 12, 2024
    @kvibert1 纯好奇,你们有 3 个 C#开发,他们不知道是否可以跨平台?
    zengxs
        11
    zengxs  
       Jun 12, 2024
    @kvibert1 dotnet 跨平台目前有 Avalonia 、Uno 等社区方案
    官方框架的话,之前的 xamarin 是支持 Linux ,但是 maui (xamarin 升级版) 暂时还没支持
    asdjgfr
        12
    asdjgfr  
       Jun 12, 2024
    跨端肯定 Electron
    daysv
        13
    daysv  
       Jun 12, 2024   ❤️ 1
    当你们 3 个 C 艹艹不知道能跨端, 就决定只能 electron 了
    gegewu0927
        14
    gegewu0927  
       Jun 12, 2024   ❤️ 1
    Electron 或者 官方的 dtk (基于 QT )
    zengxs
        15
    zengxs  
       Jun 12, 2024
    @daysv #13 哈哈说的没毛病
    iOCZS
        16
    iOCZS  
       Jun 12, 2024
    qt 没人用吗?
    zengxs
        17
    zengxs  
       Jun 12, 2024
    @iOCZS #16 他们团队没人会 C++ 啊,上 Qt 风险更大了
    kvibert1
        18
    kvibert1  
    OP
       Jun 12, 2024
    @a33291 都是做 windows 桌面开发的,连 linux 系统都没接触过
    frantic
        19
    frantic  
       Jun 12, 2024
    @kvibert1 #18 这也太半吊子了
    lyping
        20
    lyping  
       Jun 12, 2024
    QT 吧。一次到位。否则各种折腾。
    kvibert1
        21
    kvibert1  
    OP
       Jun 12, 2024
    @yuhuai avalonia 坑多不多,有会 WPF 的人。
    yuhuai
        22
    yuhuai  
       Jun 12, 2024
    @kvibert1 avalonia 别的端不好说,在桌面端是有成熟产品的,比如 jetbrains 下面 DotMemory 和 DotTrace,unity 的 Plastic SCM ,如果你还觉得不不靠谱,还有商业版的 xpf
    kvibert1
        23
    kvibert1  
    OP
       Jun 12, 2024
    @yuhuai 感谢
    schellong
        24
    schellong  
       Jun 12, 2024
    我在 UOS 待过,对 UOS 产品比较了解,想问楼主开发什么桌面软件?
    Allvirus
        25
    Allvirus  
       Jun 12, 2024
    一般用 C#写 winform 的还真不知道 dotnet 能跨平台 毕竟还是.net framework 时代
    aliyun2017
        26
    aliyun2017  
       Jun 12, 2024
    我们公司也软件也要求做统信适配 还好之前用的是 electron 稍微改下打包配置就出包了;最后 要根据 uos 软件包规范出包,我们用的是 uptool 这个工具,源码可修改,定制成自己产品的打包工具 还不错
    https://imgur.com/otn2QM2
    minami
        27
    minami  
       Jun 12, 2024
    前端负责做界面,C#负责编写动态库给前端调用,动态库内不涉及界面,这样最稳妥
    minami
        28
    minami  
       Jun 12, 2024
    @minami 中间用 node 胶起来
    lingeo
        29
    lingeo  
       Jun 12, 2024
    最求速度肯定是 electron ,后端只要懂点 js 直接就能撸了。
    qiuhang
        30
    qiuhang  
       Jun 12, 2024
    pyside6 应该可以吧,可以用 nuitka 打包,开发效率和运行效率都挺不错的。
    qiuhang
        31
    qiuhang  
       Jun 12, 2024
    @zengxs 可以用 pyside6 ( pyqt ),现在可用性挺高的。
    rome7054
        32
    rome7054  
       Jun 12, 2024
    @kvibert1 不久前有分享过 https://www.cnblogs.com/hoyho/p/18229682, 桌面端就不推荐 MAUI ,Avalonia 基本能满足。而且团队原来就用 C#的话,直接对着文档就可以开干了,何况还有用过 WPF
    kero991
        33
    kero991  
       Jun 12, 2024
    正常来说当然是用 c#写原生,不过估计 C#的开发者自己都没几个知道这玩意能跨平台的
    然后就是有不少跨平台框架,比如 CPF
    https://gitee.com/csharpui/CPF

    甚至还有把 C#封装到 GTK 下,还能用 vs 可视化开发的
    https://www.cnblogs.com/easywebfactory/p/17803567.html

    成不成熟就得你们自己尝试了
    chendaye
        34
    chendaye  
       Jun 12, 2024
    .net6 wpf+webview2 混合开发
    kero991
        35
    kero991  
       Jun 12, 2024
    不过你唯一要注意的是,.net core 只有 arm64 版本,其他比如龙芯的不知道有没有
    如果你需要做 uos 的全适配,那你首先要考量 c#本身行不行
    seraphv3
        36
    seraphv3  
       Jun 12, 2024
    .net 跨平台我用过国产的 CPF ,做的界面比较简单,没什么问题
    seraphv3
        37
    seraphv3  
       Jun 12, 2024
    kvibert1
        38
    kvibert1  
    OP
       Jun 12, 2024 via iPhone
    @seraphv3 你用 CPF 的设计器没有呢,我看是收费的?
    sq955
        39
    sq955  
       Jun 12, 2024
    @mydebug wpf 只支持 windows ,op 是 linux 桌面
    beginor
        40
    beginor  
       Jun 12, 2024 via Android
    会 WPF 的话可以考虑 Avalonia ,跟 WPF 差不多的很容易上手。 而且已经有著名跨平台应用 Ryujinx 龙神模拟器,可以说是大名鼎鼎了。

    不过就是第三方生态差点儿,没有成套的 UI 控件包(比如 Dev Extreme )等。
    liyafe1997
        41
    liyafe1997  
       Jun 13, 2024
    没有什么特别的需求,无脑 Web based 方案( Electron/Tarui 之类的),其次 Qt (不想 C++可以 pyqt )。

    毕竟生态这东西摆在这里,用的人越多坑越少,社区资料丰富。

    做正经/赚钱的商业项目,坑越少越好,尽量用用的人最多的库/平台/框架。如果折腾什么奇奇怪怪的东西,人家都能交付收工收尾款了,你们还在 debug ,然后等下有各种玄学 bug 又被客户投诉...
    ChaosAttractor
        42
    ChaosAttractor  
       Jun 13, 2024
    如果要给 linux 平台开发 electron 软件,请务必考虑一下在 wayland 下的输入法问题,即便现在 xorg 还能用,但 wayland 也是趋势
    而 wayland 下 electron 仅支持 text-input-v1 ,目前大部分 compositor 没有且不打算支持(但未来可能会更好,比如说 mutter 现在已经有了相关 pr )
    现状可以参考: https://www.csslayer.info/wordpress/fcitx-dev/chrome-state-of-input-method-on-wayland/
    而 Tarui 则完全没有 chromium 所带来的问题
    chendaye
        43
    chendaye  
       Jun 13, 2024
    @sq955 #39
    sq955
        44
    sq955  
       Jun 13, 2024
    @mydebug .NET 6 是跨平台的,WPF 不跨平台,只支持 windows 。你看目标框架那里
    yuhuai
        45
    yuhuai  
       Jun 13, 2024
    @mydebug 支持编译没有用,wpf 使用的全是 DirectX+win32 的 api ,没有任何 linux 支持,你就算跑也只能跑在 wine 里
    chendaye
        46
    chendaye  
       Jun 13, 2024
    @sq955 #44 是我草率了
    chendaye
        47
    chendaye  
       Jun 13, 2024
    @yuhuai #45 是我草率了
    layxy
        48
    layxy  
       Jun 13, 2024
    QT 吧,我记得 DEEPIN 提供过一个 QT 开发的模版,UOS 应该也一样
    mingtdlb
        49
    mingtdlb  
       Jun 15, 2024
    用过 electron 开发的软件,有些卡的不能用,有些没感知。
    seraphv3
        50
    seraphv3  
       Jun 26, 2024
    @kvibert1 没有用设计器,直接写的代码。是的,设计器是收费的,一次性永久购买,记得是 200 还是 300 多元。新用户可以免费用三个月还是两个月。我也买了,但是没有用来拖拽写界面,只是用来定位运行中界面元素查看 css
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   986 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 97ms · UTC 20:55 · PVG 04:55 · LAX 13:55 · JFK 16:55
    ♥ Do have faith in what you're doing.