现在主流是用 c++ 还是 c# 开发客户端啊

2015-04-17 10:07:03 +08:00
 ivanchou
现在有一个任务需要完成 client 开发,没有跨平台的需求。
因自身长期使用 java & android ,对 pc 客户端这块不是太清楚,现在主流用的是什么比较多,c++ 是不是只能结合 MFC?因为并不是太想学习 c# ,如果能用 c++ 是最好了,正好借这个项目锻炼下 c++ 能力。

ps:倒并不是对 c# 有什么偏见,只是感觉 java 跟 c# 很像啊,为什么要学两个很像的东西 ,另外是 mac 党,c# 意味着还要一台 win 了。
17658 次点击
所在节点    问与答
58 条回复
g00001
2015-04-17 16:24:38 +08:00
开发工具这个东西也不见得别人用的爽就一定适合自己,只能作个参考。
C#不错不过就是太笨重了,而且反编译源码的工具太多,如果是共享软件就不好办了。

做桌面软件用AAuto小轻快(开发工具6.5MB),尤其是有编程基础又不熟悉桌面开发的可以节省不少时间,AAuto里可以调用C#,C++,Java,Python的组件,可以混合不同编程语言非常方便。也可以象node-webkit那样用web做界面,不用装个笨重的nodejs哦,几句代码可以创建一个webkit壳子,另外还支持Chromium,IE,HTMLayout这些浏览器引擎,都是几句代码就可以创建个小程序了。
ivanchou
2015-04-17 16:34:21 +08:00
@lijingyu68
@g00001
才不要这些非主流,交付的时候甲方得说“你这是个什么 gui !!!!”
ivanchou
2015-04-17 16:34:48 +08:00
@m1a0 要不要这么惨~
jsq2627
2015-04-17 16:46:56 +08:00
面相大众的软件最好不要C#,部署不是一般的麻烦
g00001
2015-04-17 17:13:23 +08:00
@ivanchou 你说的很对,认真学个主流编程语言当然是必要的,但学了主流编程语言找到主流的赶脚以后,还可以大胆尝试各种非主流和新东西。AAuto只是个小玩具,不好放到一起比的。当然也还是有学了十年C语言的去用AAuto这种小玩具开发桌面软件,开发完了不但没有得罪甲方,反而是公司研发部搞了个培训大家一起愉快的学习AAuto。

一个语言适不适合自己,使用的人多只是一个参考因素,还要看做什么东西,例如多文档这类MFC那是最好的了,做客户端GUI用AAuto倒不是问题,桌面软件做GUI是比较痛苦的事,但在AAuto里就非常轻松了,类似360,QQ这样的界面用AAuto那就非常快了,AAuto上手快,开发速度快,开发出来的软件体积也很小,而且不需要啥运行库。看斌哥做的豆瓣客户端 http://wubin.in/doubanfm.html,作者学习AAuto到完成作品不到一个月,做出来的软件界面,嗯,那非常漂亮,一个月的时间还不够摸下C++的门槛。
lijingyu68
2015-04-17 17:14:02 +08:00
@ivanchou https://github.com/nwjs/nw.js/wiki/List-of-apps-and-companies-using-nw.js

楼主如果想用C++的话,唯一的选择就是QT吧
whatisnew
2015-04-17 17:16:41 +08:00
qt

c# 的话,喊了那么长时候要运行在 linux 开源出来了暂时也还是只有 mono
yeelone
2015-04-17 19:35:02 +08:00
之前也问过相同的问题,最后考虑到c#
部署麻烦,还是选择了qt
ivanchou
2015-04-17 20:43:46 +08:00
@jsq2627 呃,不是装上 .net framework 就 ok 么?
ivanchou
2015-04-17 20:44:17 +08:00
@yeelone 还请明示 c# 部署是哪里比较麻烦
ivanchou
2015-04-17 20:49:59 +08:00
@g00001 我简单看了下产品,很 nice 但仔细想了想之后并不适合我目前所面临的这个项目,感觉还是需要传统的例如 c# or qt,qt 都感觉已经是比较非主流了,大二时候碰过它。
不过以后有机会自己做着玩,AAuto 确实是个不错的选择
ayang23
2015-04-17 21:54:19 +08:00
wtl在mfc时代是个很好的选择,现在感觉qt不错,qt把c++封装的比objc都适合界面开发,如果再加上c++11的一些新特性,更加方便。而且qt可以mac下开发win下编译,这是我问了v友后自己实践过的结果,至于c#,如果单纯做个界面可能简单,但客户端软件你不来点算法,不来点图像处理?看了opencv的C#绑定后就把c#淘汰了。c#的部署现在应该不难了吧,还有人用xp吗?
ksupertu
2015-04-17 22:36:42 +08:00
c++ duilib
c++ gaclib
c# wpf
wenssh
2015-04-17 22:53:38 +08:00
@ivanchou C++可以考虑cef 如果你有前端的话
hjc4869
2015-04-17 23:27:25 +08:00
@ayang23 C#做界面,需要高性能算法的地方P/Invoke是很常见的做法,如果嫌P/Invoke性能低或者麻烦,直接C++ Interop也行。因为C#的开发效率真心高到没的说,运行效率也没低到哪儿去。
Win7自带.NET Framework 3.5,Win8.x自带4.5.x,而用哪个版本完全可以通过改*.exe.config在安装的过程中选择,不考虑XP的话连运行环境都不用带了,部署确实非常简单。
chmlai
2015-04-18 02:12:38 +08:00
Qt, .Net, node-webkit之类选一个就可以了
yangzh
2015-04-18 03:35:30 +08:00
要不 qt 要不c# dotnet.

最新版 windows 似乎自带 dotnet framework 了
xiaogui
2015-04-18 07:42:57 +08:00
VC++.net

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/184270

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX