Rumah > Soal Jawab > teks badan
Windows桌面程序设计用C#好还是C++?C++的MFC真的很复杂。C#我试了一下,和VB一样可以直接界面拖控件。VC++不可以,虽然现在我会用Java编写图形界面。但是我感觉很麻烦,要添加控件都要代码。Java的桌面程序太弱了,而且Windows集成的也是.NET(C#)所以一般C#的程序也都可以直接运行。但是C#只能在Windows上用。我现在会C++的黑白命令行的搜索,想学图形界面,不知道要学哪种比较好
代言2016-11-11 14:21:37
本人多年Windows桌面客户端经验。现在主流的桌面客户端方案我几乎都有了解过,各有利弊,选哪一个完全看你的需求而定。以下给你列出来的都是现在热门的或者未来比较看好的,至于那些没什么人用,走下坡路的方案就不给你提了,学那些过时的东西可能会浪费你时间,并不实用。
第一看你是否需要跨平台,如果要跨平台,现在主流的就两个方案
1.Qt,开发语言为C++。
2.Electron,开发语言为JavaScript。
众所周知,用C++可以很容易的与系统交互,其次运行效率高,但是开发效率却比较低,GUI表现能力不如使用Web技术的Electron。而Electron呢,使用的是JS开发,其本质就是个使用了Chrome的浏览器+Node运行环境,这意味着你能利用JS的强大生态圈的资源,很多东西拿来就用,所以开发效率那是杠杠滴。但是如果你想和系统交互的话就得靠C++,写一个C++的Node插件供程序调用,而开发Node插件需要了解谷歌V8引擎的知识,并且JS的技术栈比较多,你可能会接触现在比较热门的html5,css3,webPack,react,redux,react-saga,es6,css-modules等等。。。是不是听着就头晕了,没办法,JS圈子就是喜欢把简单的事情搞复杂。。。
而如果你的客户端不需要跨平台,只在Windows的话,建议选择C#,微软亲生的,支持的比较好,系统调用方便。而且WPF技术制作GUI比较方便,界面是描述的,不是代码写的。
你所说的靠代码写UI是上个世纪的做法了,第一没效率,第二表现力差!现在包括未来的UI技术肯定是描述出来的,像HTML那样。