想用C++做点个人展示的小东西,同时想通过这个练练手,请问应该选择哪个UI?

问题如题,MFC用过,但是不是很熟悉。QT不知道怎么样?大家有什么建议?JAVA开发的话只能用自带的SWT么?SWT开发比较费劲,有什么解决方案么?对于C++开发和JAVA开发,企业里都是如何选择UI的?

阅读 10.5k
7 个回答

Windows下选择MFC,Linux下选择QT

强烈 推荐Qt

QT。做出的UI在Linux和windows下都可以跑。现在也有第三方正在把Qt移植到Android平台。使用QtQuick即QML可以开发基于触摸的类似平板的带动画效果的酷炫界面。 企业软件因为会与后台各种服务器进行交互和整合,又因为企业后台的许多服务器很多是基于java技术构建的,出兼容性考虑,所以才选择java构建客户端软件。

windows下主流的应用程序大多还是用Win32 API/MFC开发的,不过各家都会有自己的写的浅包装的UI框架。原因是:

  1. 第三方ui库需要一个非常大的lib,据我所知QT有10M左右,而且长相和原生界面格格不入
  2. 微软的WPF需要依赖.net,然而国内仍然有众多的xp系统没有.net
  3. win32 API/MFC 小 快 灵 兼容性好

Java的ui在我见到的应用程序中少之又少,本来用java的桌面应用就很少。很多用户电脑里连.net都没有,就更别指望有JRE了。

现在企业做客户端(PC、Mobile)技术选型就两种,要么是原生API,要么是HTML5,原生API是主流,其他的ui库基本可以不用考虑

建议选择QT,主要是QT的代码看起来比MFC舒服,又跨平台

Qt UI的编写逻辑性也很强 同时也比较好看,以前在windows下还需要编译Qt源码 现在可以下pre-compiled lib了 所以基本上都可以满足需求。或者可以用微软的WPF和xaml, 下一个VS2013 很方便

不得不说Qt是比较经典的,不过我也很推荐JUCE。这两个都是跨平台,甚至可以跨到Android上面去。而QT比较老牌,JUCE呢就比较新,相比起QT也比较轻量。
如果不考虑跨平台,有一个库叫vaca,相比MFC更加清晰,也没有MFC这么多宏。但是国内资料太少,看不了英文的就算了。
最后极力推荐轮子哥的gaclib,是我国技术大牛,微软亚洲研究院的工程师陈梓瀚(vczh)的大作,有硬件加速多线程等特性,目前支持win32,将来会支持GNOME,不得不说是一个良心之作。

推荐问题
宣传栏