在当前公司工作 5 年,一直进行 windows 应用程序开发,期间夹杂着服务器和安卓的开发,但是还是以 windows 应用程序为主。由于公司客户群的特殊性,有很大一部分用户仍然停留在 xp 阶段。 目前公司主要的开发工具是 vc6.0 ,实在是太过时了。无法很便捷的处理出优美的界面效果。现在想升级开发工具的同时,引入界面库。目前对这方面还不是很熟悉,看了一些。 DirectUI UI , HTMLayout , Sciter 等,还是没有拿定主意。 目前比较倾向 HTMLayout 和 Sciter ,因为简单,轻量。 大家有什么好的建议没? 根据公司项目的现状,不需要很庞大的库,希望轻量,简单。最好兼容 mfc 。
1
wan0eve 2016-07-05 18:12:30 +08:00
几年前使用过 HTMLayout ,做简单的界面应该没问题。但是复杂界面会有很多坑,样式调起来比较麻烦,很主流浏览器的显示效果会有些差别
|
2
jixiangqd 2016-07-05 18:31:44 +08:00
第一年也是类似的坑,不过好在我们是用 vs2008 。
建议楼主跳槽转搞移动或者转 web 前端,混 Windows 界面开发出力多,费劲,工资还低,就业空间还有限。 PS :我现在已经出坑 2 年多了,转 python 开发爽的很~ |
3
beginor 2016-07-05 18:37:17 +08:00 via Android
不想出坑的话建议转 C++.net , 界面用 wpf ,也可以调用 mfc
|
4
theoractice 2016-07-05 19:25:45 +08:00
不想学其他语言的话用 qt quick 吧。可以做 Material Design 风格的界面,很漂亮的
|
5
zhuangzhuang1988 2016-07-05 19:32:18 +08:00
duilib 这个..
|
6
edsgerlin 2016-07-05 20:31:01 +08:00
其实 WPF 最好用了,不过如果要利用原有 C++代码还是 Qt 或者 WxWidgets 吧。客户大部分用 XP ,估计 PC 配置高不到哪儿去, Web UI 其实性能挺糟糕的……
|
7
edsgerlin 2016-07-05 20:37:01 +08:00
XP 最多支持到.NET 4.0 ,然后 WPF 和传统 Win32 GUI 的互操作 MSDN 有文档。 https://msdn.microsoft.com/en-us/library/ms742522.aspx
如果可以接受在所有客户机装.NET 4.0 的话, WPF 是比 duilib 之流完善得多的 DirectUI 框架。 |
8
sc3263 2016-07-05 20:43:58 +08:00
“最好兼容 MFC ”不知道需要兼容到啥程度? duilib 貌似是对 win32 api 的再次封装,兼容性应该可以。
个人还是推荐 Qt 。不管是用 QWidget 配合 QSS ,还是 QML ,想做点界面效果都还挺简单的。 |
9
icylord 2016-07-05 21:07:14 +08:00
目前用 QT ,还行
|
10
six880214 OP 首先,集体感谢一下以上朋友的回复,谢谢!再者统一回复一下问题,关于 QT 已经被部门主管否定, wpf 没怎么关注,但是应该是要装.net 吧,都是政府的客户,所以装.net 的难度有点大。还有其他推荐吗?
|
13
theoractice 2016-07-05 22:16:43 +08:00
突然想起来了某轮子的 gaclib
|
14
tmplinshi 2016-07-05 22:23:50 +08:00
推荐一下炫彩界面库 http://www.xcgui.com/
|
17
learnshare 2016-07-05 22:36:49 +08:00
我更喜欢 Qt , GUI 组件啥的质量都不错, QML 也很爽
|
18
edsgerlin 2016-07-05 22:38:02 +08:00
@six880214 主要看你用的组件数量,一般来说像 YY 这样网络等等都用 Qt 的要 20~30MB 。只用最核心的 GUI 库,其他全调用 Windows API 的话 10M 以内。
|
19
busyluo 2016-07-05 22:39:26 +08:00 via iPhone
electron
aardio delphi winform wpf qt nw.js swing sciter xcgui 这是之前做的个记录,话说领导为什么把 QT15 否决了? |
20
oimotis 2016-07-05 22:44:28 +08:00
之前有了解了一下这方面,我选的话,只能选 QT 了。
|
21
chenxiaoyu3 2016-07-05 22:44:33 +08:00
WPF 好,但是性能可能要求高。看你们的需求应该是 winForm 最合适吧。
QT 和其他开源 UI 库什么的,坑太多了。。。 |
22
busyluo 2016-07-05 22:45:25 +08:00 via iPhone
electron ,
aardio , delphi , winform , wpf , qt , nw.js , swing , sciter , xcgui ,竟然自动把换行去了 |
23
gotounix 2016-07-05 23:07:13 +08:00
深有同感啊,为了兼容 XP ,为了跨平台,我一直用 QT4 。
|
24
XadillaX 2016-07-05 23:37:03 +08:00
electron 吧。
|
25
chengzi 2016-07-06 00:17:55 +08:00
其实 wpf 对于现在正常的 PC 配置来说已经已经完全感觉不到卡顿了,不过这几年微软对 wpf 的开发好像停滞了。精力都放到 uwp 上了,却好像没什么人在开发 uwp 应用。
|
26
8023 2016-07-06 00:19:05 +08:00 via Android
QT 大法好!
|
27
sc3263 2016-07-06 00:32:03 +08:00 via iPhone
@six880214 看你的回复似乎很在乎体积。你可以看一下暴雪战网客户端下几个 Qt 相关的 dll 体积。只做界面的话要包含的 dll 很少的。而且你还可以做进一步裁减。知乎上的姚冬之前发过一个 Qt4 的编译配置,记得是 release 下只有 5M 。
|
29
edsgerlin 2016-07-06 00:59:03 +08:00
@chengzi 然而即使停滞了,个人感觉 WPF 还是比 Qt5 好用……而且现在 Qt5 也变成纯 DirectUI 了,性能不比 WPF 强。如果用 QML 而不是 C++写的话,不如 WPF 快。
|
31
wangxkww 2016-07-06 01:34:54 +08:00
我很好奇主管为什么否定 Qt ……
|
32
hrong 2016-07-06 06:32:07 +08:00 via Android
Delphi 吧 组件丰富 性能也不错 开心环境, DB 的集成支持都不错 虽然廉颇老亦。。。
|
33
missdeer 2016-07-06 08:28:50 +08:00
兼容 MFC 最好的不是 Xtreme Toolkit 么
|
38
six880214 OP 看来还是很少人用过 HTMLayout 和 Sciter ,有没有用过的朋友来具体科普一下~
|
39
kevinzhwl 2016-07-06 09:46:30 +08:00 via iPhone
先放弃 vc6 坑很多。
针对 xp 可以用 vs2010 ,可以满足的 不要 vs20xx 的其他就行 vs2010 本身带了一套 mfcxxx 的 ui ,虽然一般,但最兼容 |
40
six880214 OP 还有就是如果转 c#就意味着要给客户装.net ,这种成本的增加,目前是不太可以接受的~
|
41
KaoN 2016-07-06 10:06:33 +08:00
其实你们领导对 Qt 看法挺正确的。。。桌面端 Qt 的确不够出彩
|
43
sryanyuan 2016-07-06 10:17:46 +08:00
c++写界面貌似是个坑 现在写简单界面基本用 duilib ,虽然有坑,但是开源还靠谱点
|
44
995573753 2016-07-06 10:22:49 +08:00
我开始还推荐.NET 做,但是一看客户主要是 XP 。。就。。。。。。。。
|
45
SmiteChow 2016-07-06 10:26:24 +08:00
duilib
|
46
dreamwhui 2016-07-06 10:30:34 +08:00
duilib 搞搞 还是不错的 清亮
|
47
wizardoz 2016-07-06 10:36:05 +08:00
既然用户都能够忍受一直使用 XP 不升级,我觉得一直保持 VC6.0 给他们开发界面也没啥。
|
49
six880214 OP @loading 以前用 c++ builder ,后来发现 builder 和 mfc 的 dll 互相调用各种坑,因为内存机制的不同,后来弃坑了~
|
50
zhangdawei 2016-07-06 11:03:43 +08:00
winform 也不错啊,自己做小工具一直用这个
|
51
wakiki 2016-07-06 12:11:33 +08:00 via Android
都说了用户用 xp ,还有人提 Electron
|
52
thinkif 2016-07-06 12:11:51 +08:00 via iPhone
政府机关安装框架就更没问题了, 而且他们的电脑一般都有各种管理系统,.net 的不在少数,没准你们部署的时候会发现大多数电脑都已经有 .net 框架了,建议先了解一下目标单位电脑的软硬件配置,如果有不少电脑安装了.net 2.0 3.0 3.5 之类的就把目标框架定成 2.0 否则就用 4.0
|
53
lhgtop 2016-07-06 13:33:28 +08:00
我记得迅雷团队共享过他们的 UI 框架, 光影魔术手新版也用的这个框架. 不过据说文档差一些,你可以咨询下.
|
54
lhgtop 2016-07-06 13:34:46 +08:00
http://xldoc.xl7.xunlei.com/0000000018/0000000018.html 这个是迅雷 UI 引擎的文档.
|
57
six880214 OP @thinkif 问题是市里面的机器可能都有.net ,但是县里,乡里就不行了,而且你不亲自跑实施,基本人家不可能自己动手的,整个省,成本太大~
|
58
zaishanfeng 2016-07-06 14:44:18 +08:00
建议跳坑, 哦不对是跳出坑, 没有必要为老板鞠躬尽瘁, 你贡献再大也只是个喝汤的角色。还不如换个高薪不坑的
|
59
six880214 OP @thinkif 还有他们现行系统用到.net 的真没有, c/s 都是 delphi ,其他都是 b/s
|
60
six880214 OP @zaishanfeng 有汤喝就不错了,内陆城市,就这个环境。。。
|
61
six880214 OP @kuxiazi 我在 win10 下写代码,然后测试和编译打包都需要到 xp 的虚拟机上去。。。。。因为有时候 win10 编译的 vc6.0 有问题。。。。。
|
66
loading 2016-07-06 14:52:14 +08:00 via Android
|
68
loading 2016-07-06 15:52:37 +08:00 via Android
我上班用 xp,win7 ,回家 osx,archlinux
|
70
evitceted 2016-07-06 16:35:38 +08:00
WPF 不用吗
|
73
loading 2016-07-06 17:14:58 +08:00 via Android 1
|
75
mozartgho 2016-07-06 21:04:08 +08:00
桌面产品的界面开发,强烈推荐 Qt ,易学易维护,控件都 CSS 化了,可以像修改 CSS 那样调整控件的外观。
|
76
kangsgo 2016-07-06 21:11:31 +08:00
@mozartgho Qt 好学吗?我没有 UI 基础,想学一个界面的软件,现在只会 python ,可以学别的语言,可以帮我推荐一个思路吗?
|
77
SlipStupig 2016-07-06 21:33:07 +08:00
CEF+HTML+CSS+JS 目前最好的解决方案,还可以跨平台
|
80
kangsgo 2016-07-06 21:45:50 +08:00
@SlipStupig 用 js 做事件吗?
|
81
SlipStupig 2016-07-06 21:50:21 +08:00
@kangsgo CEF 就是 chrome ,用 web 开发界面比 C++要轻松的多
|
82
kangsgo 2016-07-06 22:17:41 +08:00
@SlipStupig 可以模仿长得像传统桌面软件么?我同学死脑筋硬要我做客户端性质的
|
84
ytom 2016-07-06 23:01:18 +08:00
可以试试 FairyGUI 啊,做 UI 很灵活。编辑器自身就是用 FairyGUI 做的。可以选择 Flash Air 或者 H5 。
|
86
SlipStupig 2016-07-07 02:27:50 +08:00 1
@kangsgo 具体看网易云音乐 windows 客户端
|
87
kangsgo 2016-07-07 08:42:33 +08:00
@SlipStupig 那么,那么,我就知呀再学个 js 就可以完全用了?这么强大!
|
89
allenx 2016-07-07 09:29:42 +08:00
在老机器上跑,用 QT 吧,兼容性还算可以。我司 windows 程序基本上都是用 QT 开发的。
|
90
zeus255 2016-07-07 09:45:14 +08:00
看了前面的内容,既然不愿意用 QT 的话,我觉得你需要:
1 、迁移到 VS2008 ,这个版本是 6.0 以后所有 VS 版本里面速度最快的,对 XP 的兼容性很好。再装个 VAX 插件就完美了。 2 、装一下 VC2008FeaturePack 。微软官方提供的补丁包,集成了 BCG 界面库,这东西是基于 MFC 开发的,效果不错,可以做出 OFFICE2007 那样的界面风格。 考虑到你提出要兼容 MFC ,那么当前界面应该是以 C++开发为主,上面这个的迁移成本应该是我能想到最小的。 |
96
six880214 OP @SlipStupig 在 xp 上内存占用和运行速度有保证吗?
|
97
SlipStupig 2016-07-07 10:11:45 +08:00
@six880214 chrome 在 pc 上能跑起来, CEF 会更节省内存
|
98
six880214 OP @SlipStupig chrome 在我眼里一直是内存占用大户,所以不知道到底效果如何,尤其是低配机~
|
100
ayumilove 2016-07-07 10:48:49 +08:00
|