V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
kvibert1
V2EX  ›  Linux

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

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

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

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

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

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

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

    做正经/赚钱的商业项目,坑越少越好,尽量用用的人最多的库/平台/框架。如果折腾什么奇奇怪怪的东西,人家都能交付收工收尾款了,你们还在 debug ,然后等下有各种玄学 bug 又被客户投诉...
    ChaosAttractor
        42
    ChaosAttractor  
       29 天前
    如果要给 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 所带来的问题
    mydebug
        43
    mydebug  
       29 天前
    @sq955 #39
    sq955
        44
    sq955  
       29 天前
    @mydebug .NET 6 是跨平台的,WPF 不跨平台,只支持 windows 。你看目标框架那里
    yuhuai
        45
    yuhuai  
       29 天前
    @mydebug 支持编译没有用,wpf 使用的全是 DirectX+win32 的 api ,没有任何 linux 支持,你就算跑也只能跑在 wine 里
    mydebug
        46
    mydebug  
       29 天前
    @sq955 #44 是我草率了
    mydebug
        47
    mydebug  
       29 天前
    @yuhuai #45 是我草率了
    layxy
        48
    layxy  
       28 天前
    QT 吧,我记得 DEEPIN 提供过一个 QT 开发的模版,UOS 应该也一样
    mingtdlb
        49
    mingtdlb  
       27 天前
    用过 electron 开发的软件,有些卡的不能用,有些没感知。
    seraphv3
        50
    seraphv3  
       15 天前
    @kvibert1 没有用设计器,直接写的代码。是的,设计器是收费的,一次性永久购买,记得是 200 还是 300 多元。新用户可以免费用三个月还是两个月。我也买了,但是没有用来拖拽写界面,只是用来定位运行中界面元素查看 css
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2420 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:54 · PVG 19:54 · LAX 04:54 · JFK 07:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.