如果你有不同的冒险进入德尔福土地或Qt土地你会选择?我知道他们不是完全可比的。我有一个使用Builder C ++(几乎是Delphi)和MFC(几乎是Qt)的Windows开发经验,还有更多时间使用Builder C ++。请在分析中取出Qt的跨平台能力。
我希望能够回复曾与他们合作的人以及他或她如何比较框架,环境等?
提前感谢您的回复。
答案 0 :(得分:23)
如果您正在谈论UI框架,那么您应该将Qt与VCL进行比较,而不是IDE(本例中为Delphi)。我知道我是个傻瓜,但Delphi是IDE,Object-Pascal是语言,VCL是图形框架。
话虽如此,我认为甚至没有任何东西可以与VCL的功能和简单性相匹配。 Qt很棒,但它不是VCL。
答案 1 :(得分:17)
编辑:此答案是用 2008 编写的。它可能不再那么贴切,但可能并非完全没用。加盐。
我已经使用了两个并且最终走了Qt路线。原因如下:
C ++有点不利,例如。编译时间,打包和集成度较低的IDE。然而,Qt确实让C ++更像是一种更高级的语言。例如,QStrings可以消除字符串处理带来的所有痛苦。因此,您通常会遇到的C ++的其他问题,例如。更多有缺陷的代码,在使用Qt时的经验不太常见。
此外,Delphi有比Qt更多的库,但由于您可以在Qt项目中使用ac或c ++库,而且因为Qt功能如此全面,您通常没有再看一下。
这将是一个奇怪的情况,我会选择Delphi而不是Qt来进行新项目。
答案 2 :(得分:9)
我会选择德尔福。当然你问任何一个pascalholic,他肯定会回答同样的问题。 ;)
再次Qt再次没问题,但VCL感觉更加精致。但那可能是我多年的工作,所以感觉很好。我对Qt的经验仅限于一个短暂的项目,最终被Delphi重写后,由于GoGlobal的强大功能可以使任何win32应用程序成为Web应用程序,因此确定不需要跨平台。因此可以在任何平台上运行。答案 3 :(得分:6)
这实际上取决于您的需求和经验。我曾与两者合作过(虽然不得不说我真正使用的最后一个Delphi版本是Delphi 6,我目前正在使用Qt 4.4)。
语言
C ++专业人士:
Object Pascal专业人士:
IDE
Qt专业人士:
德尔福专业人士:
框架
我将与其他人进行比较,因为我不知道最新的VCL是否足够好。我有一些评论:
代表Qt IMO的其他原因是非常好的支持和许可,但这取决于您的需求。两个框架都有大型社区,
答案 4 :(得分:5)
Delphi和Qt之间的一个很大区别是Qt信号/插槽系统,这使得在对象之间创建N对N关系并避免紧密耦合非常容易。
我认为Delphi中不存在这样的东西(至少在我以前使用它时没有这样的东西)。
答案 5 :(得分:3)
我刚刚开始尝试使用Qt / C ++ / Qt Creator而且我必须承认,我很惊讶这个“小可爱的混蛋”在我的鼻子下面已经有好几年了,我现在才注意它。
它(框架)看起来很整洁,功能完整(甚至是.NET缺少的东西,例如inbuld XQuery支持)。
似乎大多数编写的Qt应用程序都在处理2D / 3D /游戏。
我认为缺点只是:必须了解C ++以及缺少像QuantumGrid这样的DevExpress好东西。
我正在认真考虑移植我的一个简单应用程序(像ThumbsView这样的图片浏览器)。
它真的从相同的代码库运行。 FOR REAL!
忘记Kylix,Mono,Lazarus,Free Pascal。这个Qt比10次击败他们。
Qt Creator远离IDE。但我希望将来他们会添加更强大的调试器,代码洞察和重构(至少是“重命名”)以及更有意义的编译器错误。
我会认真地向没有Pascal / C ++经验的人推荐Qt学习曲线。
答案 6 :(得分:1)
我会选择Delphi,但这可能是因为我之前编程过它。似乎仍然有许多公司使用它,几乎每个有超过8年的人都曾在某个地方遇到它。似乎大多数程序员都可以使用它或者至少学习Pascal。更不用说新语言(C#)基于它(至少部分地)。
答案 7 :(得分:1)
如果你关注的是原生的Win32速度,一流的RAD环境和可执行的大小,请选择Delphi。如果您需要真正的跨平台框架以及现在灵活的许可策略并且不介意略微膨胀的代码,请选择QT。
我在QT / C ++下移植了一个旧的Delphi程序,我必须说QT是在易用性和功耗方面最接近VCL的框架(恕我直言)
答案 8 :(得分:0)
我选择delphi。只因为我有更多的经验。我不认为还有其他合理的标准。
答案 9 :(得分:0)
Qt是跨平台的,如果算上Kylix,Delphi并不多。 Lazarus是跨平台的,但还不是很完善。