综合考虑,什么语言最适合client编程?

yanwushu
  • 1.2k

一直在做web开发,最近需要开发一个桌面应用,媒体功能多一些,比如声音播放,图片查看,甚至即时通讯(图片,文本,声音)。

请教对client编程比较熟悉的同志,综合来讲,什么语言更适合编写client程序,从以下几个方面考虑。

  • 程序性能,运行流畅,不容易卡
  • 开发成本,越容易开发越好
  • 不考虑跨平台
回复
阅读 5k
8 个回答

Windows下用C#开发简单的桌面程序还是比较容易上手的。WPF和Winform这两个开发框架二选一吧。

声音播放,图片查看 我认为这些涉及算法的东西除了c++就是c#了 主要是c#调自家库容易 而且dll调用比较简单

是啊,桌面应用的话看什么系统了,windows就C#.NET嘛,mac就objC和swift,方便调用系统提供的应用框架。java方便跨平台,但是不便于发挥平台本身优势。考虑到性能的话,在CPU和内存密集的地方使用C/C++就好了,各个语言一般会有调用C/C++的接口,objC还可以与C/C++混编,其本身性能也还可以。
一般好像只开发windows的吧,那就C#.NET吧。

每个工具都有他的局限,需要看具体看发什么方面的软件,适不适合自己的需求。有些软件用C#可能很快,有些可能用C++就更适合。所以最好是具体情况具体分析,可以先去看看这个开发工具的范例,开源代码什么的,然后再决定。

c#是不错,不过C#的优势是服务端开发,桌面开发就略显笨重了,而且在C#上投入的学习成本也不低,我就见过在学校学了好几年的C#出来写个小工具也困难的。.net framework版本兼容性也不是很好发布是个问题,C#有很多强大的反编译工具能还原源代码 dotPeek ILSpy等等工程文件都能直接复原出来,这在客户端是个问题。

如果是windows平台上又有web开发的基础,不想在桌面开发上投入太多学习成本,可以考虑AAuto,AAuto才6.5MB,小轻快。AAuto可以用HTML,CSS开发界面非常方便,可以嵌入HTMLayout、IE内核、wekit内核、chrome内核,几句代码就可以搞一个漂亮的界面出来,这对于有web开发基础的就非常有优势了,可以参考开源项目斌歌豆瓣FM客户端 http://bbs.aau.cn/forum.php?mod=viewthread&tid=10977 作者原来就是玩PHP的,学AAuto很短的时间搞出这个软件,界面非常漂亮。AAuto也可以嵌入很多其他编程语言或其他语言开发的组件扩展也比较方便。

一年后的 Rust :-) 性能肯定没问题,开发起来,虽说没 Python 那么容易上手,但比 C++ 好不少。开发出来的东西 bug 会少很多,所以会节省后期修 bug 阶段的成本。而且相比于 Python,Rust 对 Windows 的支持会更好。当然,你要是找不到 Rust 开发者也没办法。

不然,C++ 或者 Python 吧。NodeJS 也许也可行。

windows下,C#表示有点小激动

Node-Webkit其实也不错,快速开发,不需要传统Win32编程知识。

https://github.com/nwjs/nw.js

但是,如果追求性能,对于Windows操作系统来说,还是传统C/C++/C#系列。其它操作系统看具体情况。

跨平台的话,可以考虑使用C++里的QT库

宣传栏