Ruby 讨论关于桌面 (C/S) 应用开发?

jean · 2012年02月28日 · 最后由 xingfuqiu 回复于 2014年08月15日 · 12021 次阅读

作为一个极其懒惰的家伙,我一直在寻找靠谱的跨平台方案以减少自己的代码量。

首先把 JAVA 放弃了,开发周期长,东西也比较丑陋,还得额外跑个虚拟机 然后考虑使用 ruby,但是发现主流基本都在移动开发和 WEB 上,桌面应用的方案都很老了,未来估计也不打算更新神马的。

绕了一圈儿,觉得还是 C# FOR WIN 和 OBC FOR MAC 比较靠谱,虽然代码量大了点,但从长远看稳定性更有保障。

不知道各位有没有什么更好的视野?

感谢。

UPDATE 大获儿推荐的几种方案 - 2012/02/29

程序核心需求:一个客户端,连接到 SERVER 后将加密用户联网通信的数据。原理类似于敏感词叫未批恩。

方案 C# with winform Mono+Qt Qt Python with qt C++ Delphi

从学习曲线和时间投入所产生的价值来看,Python with qt 和 C# 完胜。

Ruby 底层的库看起来不如 python 丰富且年代久远,而 python 的方案则一搜一大把马上开心死了。 我也就开发一个桌面应用,平时开发手机 (OBC) 和 WEB(ROR) 领域最多,学 C++ 或 Delphi 有点蛋疼,人生苦短。

现在倾向于使用 Python with qt,社区里的人基本都有过其他语言开发经验,求拓宽视野欢迎各种吐槽啊,谢谢,谢谢~

Windows 上面用 .NET 开发左面应用明显不是一个好的选择

#1 楼 @huacnlee 啊,不会用 VB 吧?求详细说说

匿名 #3 2012年02月28日

跨平台都是幻影

Mac 下的 MacRuby 可以玩一玩。

匿名 #5 2012年02月28日

#2 楼 @jean win 下还是 vc 比较好吧

#5 楼 @yuwenlan 谢谢,VC 确实好呀,不过又得投入时间去研究,只写一个程序而已不靠这吃饭,时间成本太高了。

Windows 上面用 Delphi 都比 .NET 好得,据我所知,目前任然有很多搞 Windows 桌面应用的用 Delphi 做。 除次之外当然是 VC 了

另外,实事证明,跨平台的语言(对于桌面应用)都是扯淡的,还是 Native 的开发效果最好。

delphi 不错,不过不知道发展到什么情况了 听说遥远的 delphi7 后波兰就被收购了,改做的产品真的不怎么滴,后来又出一个什么公司继承下来。 Delphi 作简单的桌面确实简单实用,几乎没有什么学习成本

Qt 呢?

豆瓣也有一个桌面库 onering-desktop ,后端是 web,前端是 css+js。具体没用过,仅供参考。

C# rocks 想跨平台可以用 mono+Qt / GTK+

java 很好,我觉得 eclipse,intellij 这些东东是最得最好的跨平台样例了。 丑陋一说不知从何说起。 跑一个虚拟机为何接受不了,跨平台都要有个跨平台 runtime,ruby python 都需要跨平台解释器。

建议你研究一下 dropbox 怎么开发出来的是一个 pyconf 的演讲.... 基本做到每个平台单独的代码只有 10%。其它都是公用的... ruby 应该基本也能做到...

楼主的问题撞到枪口上了,我用过多年的 VC Delphi C#.net, 我可以很负责的告诉你,就目前而言,开发 windows 桌面应用最好的选择是 C# + winform.net。 关于 VC,已经不能再用 VC 开发 windows 桌面应用程序啦,微软从 1999 起,就没再更新过 MFC。 关于 Delphi,已经结束了,无论他曾经是多么优秀的开发工具,那都是过去的事情啦。 此时此刻 Window 上的桌面应用开发的第一选择,绝对是 C# + winform.net。 如果让界面超级酷,并且不怕折磨自己的话可以玩玩 WPF。

#7 楼 @huacnlee 目前的确还有不少人,在用 Delphi 和 VC 开发 Windows 桌面应用,但是那都是历史原因造成的。多数都是在维护老代码。就像现在还有很多人在用 java 做网站一样。 新的网站应该用新的主流技术。 新的桌面应用也同样应该用新的主流技术。 Delphi 和 VC 已经不再是 Windows 桌面应用的主流开发技术啦,C#.net winform wpf 才是。

楼主如果想开发跨平台的应用,又想降低时间成本,最好的方案是,用 Rails+JQuery 开发 Web 应用。

Adobe AIR 怎么样?

QT 或者 GTK

#19 楼 @dotnil 是的... 是这个...

GTK 只有在 Linux 下面才合适,到了 Windows 和 Mac 下面就不合适了,风格不搭,性能差

windows 开发要学习 RT 了,这才是未来的方向 应该是 C++ 的天下

和计算机资源相关的应用就本地 GUI, Qt 是杀手级的. 其他都一律 web 吧。

现在 windows 的机器大都直接带 .net framework 的 c# 已木什么大问题了

#7 楼 @huacnlee .NET 存在什么问题?我觉得以前的问题在于要额外安装虚拟机,不过现在微软都直接把虚拟机内嵌到新的操作系统了。

#8 楼 @huacnlee 这一点严重同意!无论从流畅度和稳定性来说 Native 都是王道。

#27 楼 @jean .NET 有速度问题... 当然这个是之前用过以后的感觉,好几年没用 Windows 了,现在不知道是不是。以前移动那个飞信,一开始不就是用 .NET 搞的么,后面还是换成 VC 了

#12 楼 @reus An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET. 官方说的很牛逼啊,哥们你用过木有? 我在 PYTHON 的社区里也看到过类似的解决方案,但是普遍反响不太好,不知道 MONO 怎么样?有没有采用 MONO 的产品给举出几个?感谢

#29 楼 @huacnlee 传说是好多了,飞信慢可能是因为他的编译方式,早年他为了让一些 XP 的用户在不安装。NET 框架的情况下也能用,就使用了点手段把库捆到程序里,具体细节记不清了,不知道现在是什么样

用 html5 写再用 webkit 加个壳子怎样?那是最偷懒的办法了.. 以前写 ios 应用偷懒就用 phonegap,对于性能要求不高的程序,基本和 native 看不出区别

#31 楼 @jean 随着微软的不断优化,和硬件性能的不断提升,.net 应用的运行速度已经快了很多啦。在目前的情况下,用户已经很难体验出.net 和 native 程序之间的性能差异啦。 能说说,你为什么要开发 windows 的桌面应用吗?你想开发一个什么样的应用哪?

#18 楼 @Tony 几年前我也很看好 air,豆瓣还有个应用叫做 豆花,还有一个绘制草图的软件,叫做 Balsamiq Mockups。如今业内都看好 Html5,Adobe 也投入了 Html5 阵营。air 的前景不那么好啦,昙花一现。

#32 楼 @aNdReW_Qx 我觉得这个的方法非常好

#29 楼 @huacnlee 这个证据太牵强了,飞信背靠垄断企业,不是市场中锻炼出来的专业公司,参考价值有限

#33 楼 @ery 一个客户端,连接到 SERVER 后加密用户联网的数据。您对 QT 有啥见解么?

python + pyside or pyQt,速度不是问题,因为 Qt 是 native 代码,只有业务逻辑是运行 python bytecode,而这部分如果遇到计算密集型的任务,还可以根据需要用 c/c++ 重写,给 python 调用。

做跨平台的桌面开发,Qt 也许是目前最好的选择,现在的 WPS Office 就是基于 Qt 开发的,GUI 部分取代了原来上百万行的 Delphi 代码。 MONO 可能也不错,小规模的软件肯定没问题,我用过一些用 MONO 的开源软件,感觉还不错。

#36 楼 @fsword 关于.net 被 c++ 取代还有个比较著名的软件:evernote

#38 楼 @neutralevil 可否推荐本 python qt,network 相关的书?非 0 基础,最好上来就实战。感谢!

windows下就用windows的东西,而且.net也是windows的大势。所以别折腾了,c#才是最好的选择。。

#32 楼 @aNdReW_Qx html5+webkit 有成熟的例子么?打包的时候需要其他插件么

#40 楼 @jean 我因为是先通过 c++ 用 Qt,没有看过专门讲 python+Qt 的书,只听说过一本叫 Rapid GUI Programming with Python and Qt,不过看起来里面涉及的版本较旧,也许要先看过 pyside 或 pyQt 的最新文档,了解当前的用法,再结合这本书比较好。

#44 楼 @jean 没用过 Qt,但是听说不错。不过具体问题具体分析,

Python + Qt

优点:跨平台,开源 缺点:我不熟悉,非 WindowsGUI 开发的主流技术

C# + winform

优点:主流开发技术,学习资料丰富,.net 功能当大。 缺点:非开源,基本不跨平台(无视 mono 的存在)

如果是为了挣钱,那么选择 C# + winform 绝对没错

即能缩短开发周期, 又能得到后续强大的技术力量支持-MSDN, 还有一个世界上最好的 IDE-Visual Studio。

如果是为了学习,那么选择 Python + QT

几个月后,写个 Python+QT 的开发实践总结, 分享一些你的学习和开发经历,以供后人学习。

Delphi7 用到现在,至于更新的版本都感觉没有 D7 用着舒服

需要 登录 后方可回复, 如果你还没有账号请 注册新账号