kvibert1
V2EX  ›  Linux

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

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

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

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

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

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

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

做正经/赚钱的商业项目,坑越少越好,尽量用用的人最多的库/平台/框架。如果折腾什么奇奇怪怪的东西,人家都能交付收工收尾款了,你们还在 debug ,然后等下有各种玄学 bug 又被客户投诉...
ChaosAttractor
   42
ChaosAttractor  
   2024 年 6 月 13 日
如果要给 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  
   2024 年 6 月 13 日
@sq955 #39
sq955
   44
sq955  
   2024 年 6 月 13 日
@mydebug .NET 6 是跨平台的,WPF 不跨平台,只支持 windows 。你看目标框架那里
yuhuai
   45
yuhuai  
   2024 年 6 月 13 日
@mydebug 支持编译没有用,wpf 使用的全是 DirectX+win32 的 api ,没有任何 linux 支持,你就算跑也只能跑在 wine 里
chendaye
   46
chendaye  
   2024 年 6 月 13 日
@sq955 #44 是我草率了
chendaye
   47
chendaye  
   2024 年 6 月 13 日
@yuhuai #45 是我草率了
layxy
   48
layxy  
   2024 年 6 月 13 日
QT 吧,我记得 DEEPIN 提供过一个 QT 开发的模版,UOS 应该也一样
mingtdlb
   49
mingtdlb  
   2024 年 6 月 15 日
用过 electron 开发的软件,有些卡的不能用,有些没感知。
seraphv3
   50
seraphv3  
   2024 年 6 月 26 日
@kvibert1 没有用设计器,直接写的代码。是的,设计器是收费的,一次性永久购买,记得是 200 还是 300 多元。新用户可以免费用三个月还是两个月。我也买了,但是没有用来拖拽写界面,只是用来定位运行中界面元素查看 css
Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
© 2026 V2EX · 82ms · 3.9.8.5