现在都用什么开发 Windows GUI 客户端? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
144 条回复    2018-12-29 19:41:57 +08:00
1  2  
plqws
    1
plqws  
   2018-12-27 12:37:36 +08:00
开发快兼容好跨平台?只有 web 了
willm
    2
willm  
   2018-12-27 12:39:12 +08:00 via Android
electron java qt
SuperMild
    3
SuperMild  
   2018-12-27 12:40:15 +08:00   1
electron 一统天下。
rookiebulls
    4
rookiebulls  
   2018-12-27 12:40:31 +08:00 via iPhone
pyqt
ingbyr
    5
ingbyr  
   2018-12-27 12:41:33 +08:00 via iPhone
javafx?
momo1999
    6
momo1999  
   2018-12-27 12:42:51 +08:00
electron
XIVN1987
    7
XIVN1987  
   2018-12-27 12:43:31 +08:00
PyQt
Qt 官方发布了 PySide2,,以后可能会转过来
AV1
    8
AV1  
   2018-12-27 12:44:38 +08:00 via Android
不谈硬件资源限制的一律推荐 electron
hilbertz
    9
hilbertz  
   2018-12-27 12:45:41 +08:00
qt 对 hidpi 桌面支持很差,以后都是 web 的天下,不如早作打算
ttvast
    10
ttvast  
   2018-12-27 13:22:45 +08:00   4
怀念 delphi 和 c++builder
xrr2016
    11
xrr2016  
   2018-12-27 13:31:33 +08:00
flutter 也要支持桌面应用开发
natforum
    12
natforum  
   2018-12-27 13:32:30 +08:00   1
golang
KingOfUSA
    13
KingOfUSA  
   2018-12-27 13:35:27 +08:00
delphi
muyi
    14
muyi  
   2018-12-27 13:36:36 +08:00
delphi
simple2025
    15
simple2025  
   2018-12-27 13:37:12 +08:00
java,qt, web 把
easylee
    16
easylee  
   2018-12-27 13:39:01 +08:00
QT
diyisoft
    17
diyisoft  
   2018-12-27 13:39:04 +08:00
delphi,现在全平台了吧
huangdadaxian
    18
huangdadaxian  
   2018-12-27 13:39:45 +08:00
Delphi
kernel
    19
kernel  
   2018-12-27 13:41:56 +08:00
delphi 这么小众的就算了吧,还不如就用 QT 了
当然没有特殊需求的话我只会用 electron
loading
    20
loading  
   2018-12-27 13:46:26 +08:00 via Android
delphi 听说很强,到时语法我是觉得……

aauto 能做不少小工具
janxin
    21
janxin  
   2018-12-27 13:49:35 +08:00   4
electron 一把梭,亲爱的用户我是你爹
wshcdr
    22
wshcdr  
   2018-12-27 13:51:18 +08:00   2
C# 啊
lucahan
    23
lucahan  
   2018-12-27 13:51:21 +08:00
electron 还有悬念吗
guolaopi
    24
guolaopi  
   2018-12-27 13:52:06 +08:00
MFC
lihongjie0209
    25
lihongjie0209  
   2018-12-27 13:53:13 +08:00
electron 太卡不用
v2dead
    26
v2dead  
   2018-12-27 13:56:18 +08:00
之前开发的都是内部用小工具,早先用 python 不好分发,后来用 golang,但 UI 库不够成熟,只能做简单的,小工具是够了。
Vegetable
    27
Vegetable  
   2018-12-27 14:07:12 +08:00
@natforum go 写 GUI 我记得是没什么好办法的
liuxey
    28
liuxey  
   2018-12-27 14:14:20 +08:00
如果对 native api 没有强需求,用 web 的方式更经济,也更好推广。
qbhy
    29
qbhy  
   2018-12-27 14:22:30 +08:00
electron 统一天下
yanaraika
    30
yanaraika  
   2018-12-27 14:23:32 +08:00 via Android
electron 真是开发一时爽 用户内存火葬场
tabris17
    31
tabris17  
   2018-12-27 14:25:00 +08:00
wxWidgets
miyuki
    32
miyuki  
   2018-12-27 14:29:11 +08:00
不考虑资源,electron 一把梭
salamanderMH
    33
salamanderMH  
   2018-12-27 14:30:04 +08:00
只考虑能跑,不考虑性能什么的,用 electron
zjsxwc
    34
zjsxwc  
   2018-12-27 14:31:13 +08:00
c++ wxWidgets
shyangs
    35
shyangs  
   2018-12-27 14:41:49 +08:00
electron 开发快,兼容好,可以跨平台
shijingshijing
    36
shijingshijing  
   2018-12-27 14:42:40 +08:00 via iPhone
推荐 c#的这么少。。。 药丸啊
iwtbauh
    37
iwtbauh  
   2018-12-27 14:45:26 +08:00 via Android   2
还是推荐 GTK+

支持的系统多,GNU/Linux,BSD,OS X 等 Unix-like 系统和 ms-windows。
支持的语言多,C/C++,Python,Javascript,C#,golang,Java,Lua,Rust,Perl,…………
主题机制非常灵活,GTK+3 是使用 CSS 来改变观感效果,制作自己的主题非常简单。因此可以轻易做出应用程序独特的观感效果和动画。
使用 glade 界面设计器可以非常简便地制作界面。

目前 GTK+ 3.22 (3.24) 已经使得 GTK+ 3 的 API 不再变化,可以长期稳定使用。

使用 GTK+编写的知名程序:GNOME,GIMP 等
chchwy
    38
chchwy  
   2018-12-27 14:55:39 +08:00
Qt
UIXX
    39
UIXX  
   2018-12-27 14:58:32 +08:00   4
又说 Window GUI...又说跨平台,不是矛盾?

现在在做专业领域软件,对于这类软件,跨平台通常不是个好的选择:
Win 平台上只有 C++ 跟 C# 可选,通常是 C++做引擎跟底层算法,WPF 做皮。

对于普通软件,通常都是 Qt 做皮,首推 Py 系,PyQt 其实还不错,跨平台也简单。

工具类等小型软件,Py 系、Java 系 GUI 都可以用,甚至可以用 Delphi...

electron...做过几款软件,始终觉得是 Web 统一天下道路上的一个试验品,不算成熟,包含了太多临时解决方案,持观望态度。
fox0001
    40
fox0001  
OP
   2018-12-27 15:09:59 +08:00 via Android
@iwtbauh #37 有无入坑指南?
GoodRainChen
    41
GoodRainChen  
   2018-12-27 15:18:12 +08:00
@UIXX
JAVA 系现在做小工具软件用什么框架了?
我还记得大学时候用的那个拖控件的,UI 极其复古,那简直不能看
jlkm2010
    42
jlkm2010  
   2018-12-27 15:28:17 +08:00
能上 web 都上 web,上不了 web 就用 javafx
iwtbauh
    43
iwtbauh  
   2018-12-27 15:28:32 +08:00 via Android
@fox0001 #40

GTK+3 最新版本 C API 参考: https://developer.gnome.org/gtk3/3.24/

最新版本 API 使劲推荐 gapplication 类,其实可以用 gtk_init() 和 gtk_main() 这种更直观的消息循环模型。可以看就版本 API 参考了解。

这是 C api 参考,C++,Python 等其他语言的文档都可以从 Google 搜索到,也非常多。

中文资料较少且偏过时,不要用中文搜索
MetalCore
    44
MetalCore  
   2018-12-27 15:35:44 +08:00
wpf + CefSharp
admirez
    45
admirez  
   2018-12-27 15:36:29 +08:00
当然是 delphi,全平台,支持高 DPI
UIXX
    46
UIXX  
   2018-12-27 15:44:38 +08:00
Qt/SWT @GoodRainChen
flyzero
    47
flyzero  
   2018-12-27 16:01:41 +08:00
请问 golang 有什么顺手的 gui 库使用吗
xrlin
    48
xrlin  
   2018-12-27 16:21:07 +08:00
@flyzero walk? 有段时间我也想写下 gui,看了很多 ui 库,后来想想这些小工具类的要啥 gui,cli 就行了。。。
flyzero
    49
flyzero  
   2018-12-27 16:26:25 +08:00
@xrlin walk 只能 window 下的小工具吧,现在自己弄 mac 下软件,看来看去好像只有 electron+动态库了好像或者 wasm
xiri
    50
xiri  
   2018-12-27 16:31:52 +08:00 via Android
Qt
abcbuzhiming
    51
abcbuzhiming  
   2018-12-27 16:38:40 +08:00
不考虑跨平台,windows GUI 上 C#绝对没错
coderfox
    52
coderfox  
   2018-12-27 16:43:09 +08:00
上来就把 C# 排除了,那流行度最好的就是 Electron 了。
LokiSharp
    53
LokiSharp  
   2018-12-27 16:45:47 +08:00
Qt 是最好的
eternaldzw
    54
eternaldzw  
   2018-12-27 16:49:09 +08:00
C#可以用 mono 跨平台
hustyjc
    55
hustyjc  
   2018-12-27 16:51:00 +08:00
qt, qt 5.7 以后 hidpi 支持已经很完善了
rAYz
    56
rAYz  
   2018-12-27 16:52:35 +08:00
delphi,现在有全平台了…
WilliamLin
    57
WilliamLin  
   2018-12-27 16:53:13 +08:00 via Android
electron
cchange
    58
cchange  
   2018-12-27 16:53:14 +08:00
我期待 C#
而且 WPF 下一版本已再开源 期待中
Terry05
    59
Terry05  
   2018-12-27 17:18:40 +08:00
electron 或 nw.js ,相比之下,还是 electron 好用方便
xschaoya
    60
xschaoya  
   2018-12-27 17:40:35 +08:00 via Android
electron 安装程序都好大鸭,动不动上百 m
wenzhoou
    61
wenzhoou  
   2018-12-27 17:43:20 +08:00 via Android
我也不喜欢 electron 太大了。老实点写 html 吧。
jeremaihloo
    62
jeremaihloo  
   2018-12-27 17:48:37 +08:00
听说明年 C#的 WPF 和 WinForm 要开源,我在期待中
edsgerlin
    63
edsgerlin  
   2018-12-27 19:00:02 +08:00   1
axeojpwt
    64
axeojpwt  
   2018-12-27 19:18:59 +08:00
qt
wmwwmv
    65
wmwwmv  
   2018-12-27 19:22:54 +08:00
你搞了一圈会发现 C#是最好的
xuanbg
    66
xuanbg  
   2018-12-27 19:30:56 +08:00
跨平台? web 是第一选择,然后才是 QT 什么的做桌面客户端。
jiangnanyanyu
    67
jiangnanyanyu  
   2018-12-27 19:33:58 +08:00 via Android
electron 一梭子
lovelybear
    68
lovelybear  
   2018-12-27 19:48:30 +08:00 via Android
WPF
huclengyue
    69
huclengyue  
   2018-12-27 20:04:31 +08:00 via Android
flutter 啊
hoythan
    70
hoythan  
   2018-12-27 20:17:46 +08:00
electron 统计来看,几乎全在中国。
ashong
    71
ashong  
   2018-12-27 20:18:26 +08:00
c++ webserver + chromium
harvest
    72
harvest  
   2018-12-27 20:24:14 +08:00 via Android
@cchange 好像也仅仅是开源,并不跨平台
KasuganoSoras
    73
KasuganoSoras  
   2018-12-27 20:25:56 +08:00
如果我说易语言……我会给打死吗?
luo1945049855
    74
luo1945049855  
   2018-12-27 20:26:57 +08:00
Qt、WTL、CEF、Electron.
simonsww
    75
simonsww  
   2018-12-27 20:33:14 +08:00
@KasuganoSoras 不会,易语言满足了开发快的需求,但跨平台比较难,做做小工具是蛮好
mmdsun
    76
mmdsun  
   2018-12-27 20:51:30 +08:00 via Android
@shijingshijing 注意审题:除了 C#和 Web,有没有推荐?
zhchyu999
    77
zhchyu999  
   2018-12-27 20:57:12 +08:00
把最优解都排除了
grewer
    78
grewer  
   2018-12-27 21:02:35 +08:00
electron 用起来有点难受 还有很多 bug 都没修好
idcspy
    79
idcspy  
   2018-12-27 21:45:30 +08:00   1
说易语言不会被打吧:)
eagle40
    80
eagle40  
   2018-12-27 21:49:21 +08:00
应该是 Qt 了
sss3600123
    81
sss3600123  
   2018-12-27 21:50:48 +08:00 via iPhone
winform
kran
    82
kran  
   2018-12-27 21:51:27 +08:00 via Android
sciter
    83
sker101  
   2018-12-27 21:52:54 +08:00 via iPhone
看你应用啥用处 如果对硬件操作多的建议不要 electron 就个简单的打印 如果要点花样都要死要活 没有特别好的库可以用 得自己写 c++库
inframe
    84
inframe  
   2018-12-27 22:03:41 +08:00
winform ,wpf, Windows 上做个视图层是最舒服的,qt 那个差不多也可以,
GUI 这个和语言倒关系不大
还是看技术框架
Dogeg
    85
Dogeg  
   2018-12-27 23:04:16 +08:00
大佬搭车问下,用 C# 做 GUI 选 wpf, winform,怎么选。
开源了有啥影响,不是还是只能跑 Windows 上吗?
myhot21
    86
myhot21  
   2018-12-27 23:52:46 +08:00
java swing
ipwx
    87
ipwx  
   2018-12-28 00:14:12 +08:00
JS 系的东西,总觉得放半年以后,就很难一次编译通过了。

哪像 Qt,我四年前用 Qt4 写的小工具,现在在 Qt5 下面很轻松还能编译成功。
master
    88
master  
   2018-12-28 02:25:59 +08:00
c# 用 mono 跨平台还是靠谱的
xupefei
    89
xupefei  
   2018-12-28 05:37:16 +08:00   6
我对你讲,跨平台 UI 约等于垃圾。外观丑或功能弱,二者必占其一。
老老实实分离核心代码和 UI 代码,核心部分用跨平台语言写,UI 部分每个平台专门写一个。
NicholasYX
    90
NicholasYX  
   2018-12-28 08:19:07 +08:00 viaiPhone
还是 C#吧
695975931
    91
695975931  
   2018-12-28 08:47:23 +08:00
c#啊。无敌。。
cchange
    92
cchange  
   2018-12-28 08:49:19 +08:00
@harvest 会针对 .NET Core 开发 WPF 据说 相当于.NET Core 的 GUI 实现
Dogeg
    93
Dogeg  
   2018-12-28 09:02:22 +08:00 via iPhone
@cchange #92
请问是哪路的消息。现在开源的仅限 Windows desktop 吧
ian19znj
    94
ian19znj  
   2018-12-28 09:02:46 +08:00
@Dogeg #85 选 WPF 无疑,Winform 是上一代的技术了,Winform 给我的感觉是 C#版的 MFC。WPF 的 XAML 语言是我目前用过表达 UI 最完美的方案了。开源了之后,虽然微软只负责 WPF 在 Windows 上的实现,但是期待社区能将 WPF 移植到其他平台吧。
cchange
    95
cchange  
   2018-12-28 09:06:04 +08:00
@Dogeg
https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/
这是消息来源,但是估计不会迁移到别的平台 我没细看 因为我只用 Windows ……
Removable
    96
Removable  
   2018-12-28 09:16:32 +08:00
@shijingshijing #36 你们完整看过楼主写的内容了吗
Frank9621
    97
Frank9621  
   2018-12-28 09:32:43 +08:00
php gui
nicevar
    98
nicevar  
   2018-12-28 09:42:17 +08:00   2
无脑推荐 electron 的估计只写过包含一个 button 的 GUI 程序
Zeham
    99
Zeham  
   2018-12-28 10:03:20 +08:00
问了一个我最近想知道的问题
ToHaveLight
    100
ToHaveLight  
   2018-12-28 10:18:22 +08:00
公司在用 qt,里边的很多界面都是套 cef ( web 界面)
1  2  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2582 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 30ms UTC 08:59 PVG 16:59 LAX 00:59 JFK 03:59
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86