Qt或者Delphi ...如果要选择一个?

时间:2020-03-05 18:56:05  来源:igfitidea点击:

如果我们有冒险进入Delphi土地或者Qt土地的差异,那我们会选择什么?我知道它们并不完全可比。我有一个使用Builder C ++(几乎是Delphi)和MFC(几乎是Qt)进行Windows开发的经验,还有更多的时间使用Builder C ++。请在分析中排除Qt的跨平台功能。

我希望得到与他们一起工作过的人的答复,以及他或者她将如何比较框架,环境等?

预先感谢答复。

解决方案

回答

我会选择delphi。只是因为我有更多的经验。我认为没有其他合理的标准。

回答

我会选择Delphi,但这可能是因为我之前已经对其进行了编程。似乎仍然有许多公司在使用它,几乎每个拥有8年以上经验的人都在某个地方遇到过它。似乎大多数程序员都可以使用它,或者至少可以学习Pascal。更不用说新语言(C#)基于它(至少部分地)的事实。

回答

Qt是跨平台的,如果算上Kylix,Delphi不会太多。 Lazarus是跨平台的,但功能还不够完善。

回答

如果我们正在谈论UI框架,则应该将Qt与VCL进行比较,而不是将IDE(在这种情况下为Delphi)进行比较。我知道我一直在坚持,但是Delphi是IDE,Object-Pascal是语言,VCL是图形框架。

话虽这么说,我认为没有什么比VCL的功能强大和简单性更匹配的了。 Qt很棒,但它不是VCL。

回答

我会选择德尔福。当然,我们要问任何有关帕斯卡的人,他肯定会回答相同的。 ;)

Qt再次很好,但是VCL感觉更加优美。但这可能是我多年使用它的经验,所以感觉不错。我对Qt的经验仅限于一个短暂的项目,由于GoGlobal的强大功能可以确定任何跨平台的Win32应用程序,因此在确定不需要跨平台后,最终在Delphi中对其进行了重写。平台。

回答

编辑:此答案写于2008年。它可能不再那么贴切,尽管可能并非完全没有用。加盐。

我都用过,并最终选择了Qt路线。原因如下:

  • 奇趣科技通过电子邮件提供快速和一对一的支持
  • Qt不断创新,并定期引入强大的新功能
  • Qt文档很棒,在极少数情况下,我们可以阅读源代码
  • 拥有Qt的源代码还可以让我们在基本库中进行调试,这在很多情况下对我来说都是救生员
  • 该API非常一致且设计合理。我们已将新人员招募到该项目中,并在一个月之内展示了他们对该工具包的深入了解,并且可以非常快速地学习新课程。
  • 它具有与其他语言的绑定,例如。 Ruby和Python。

C ++有点不利,例如。编译时间,打包和集成度较低的IDE。但是Qt确实使C ++更像是一种高级语言。例如,QString消除了字符串处理的所有麻烦。因此,我们通常会遇到的C ++其他问题,例如。使用Qt时,更多错误的代码在我的经验中并不普遍。

另外,Delphi的库比Qt的库更多,但这可以缓解,因为我们可以在Qt项目中使用ac或者c ++库,并且因为Qt功能齐全,我们通常不必看任何东西进一步。

当我为新项目选择Delphi而不是Qt时,这将是一个奇怪的情况。

回答

这确实取决于需求和经验。我都使用过(尽管不得不说,我真正使用过的最后一个Delphi版本是Delphi 6,而我目前正在使用Qt 4.4)。

语言

C ++优点:

  • C ++更"标准",例如我们将找到更多代码,库,示例等,并且可以自由使用STL和boost,而Object Pascal更像是一种外来语言
  • Qt在不同的平台和编译器上进行编译(Kylix基于Qt,BTW)

对象Pascal优点:

  • 语言中内置了一些动态属性,不需要像MOC这样的丑陋变通办法
  • 编译器针​​对该语言进行了高度优化,而且速度非常快
  • 该语言比C ++复杂,因此不易出错

的IDE

Qt优点:

  • 严格地说,除Designer之外,没有用于Qt的IDE,但它可以很好地集成到我们首选的IDE中(至少是Visual Studio和Eclipse)。
  • 与Delphi表单相比,设计师在布局方面做得更好(注意:这是基于Delphi 6的经验,可能不适用于当前版本)

德尔福专家:

  • 该IDE确实已经过抛光并且易于使用,并且明显击败了IMO(我没有使用Eclipse的经验)
  • 没有第2点...但是如果我必须将流行语分配为" integrated",我会将其分配给Delphi IDE

框架

我将与其他人进行比较,因为我对最新的VCL不够了解。我有一些评论:

  • 这两个框架都涵盖了大多数所需的功能
  • 两者都有可用的源代码,这是IMO必不可少的
  • 两者都有或者多或者少一致的结构-我更喜欢Qt,但这取决于喜好(备注:我永远不会说Qt几乎是MFC-我已经使用MFC很长时间了,并且Qt和Delphi都使用过-和.NET ,就此而言-会更好)
  • VCL具有更多面向DB的功能,尤其是与可视组件的连接
  • Qt具有更多面向绘画(2D / 3D / OpenGL)的功能

支持Qt IMO的其他原因是非常好的支持和许可,但这取决于需求。这两个框架都有很多社区,

回答

Qt信号/插槽系统是Delphi与Qt之间的最大区别,它非常容易在对象之间建立N对N关系并避免紧密耦合。

我认为Delphi中不存在这样的东西(至少在我以前使用时没有这样的东西)。

回答

如果我们担心本地Win32速度,一流的RAD环境和可执行文件大小,请选择Delphi。如果我们需要一个真正的跨平台框架以及一个灵活的许可政策,并且不介意代码过于膨胀,请选择QT。

我在QT / C ++下移植了一个旧的Delphi程序,我必须说,就易用性和功能(IMHO)而言,QT是最接近VCL的框架。

回答

我刚刚开始使用Qt / C ++ / Qt Creator进行实验,我必须承认我很惊讶这个"小巧的混蛋"就在我的鼻子下面很多年了,我现在才注意它。

它(框架)看起来很整洁,功能完善(甚至是.NET缺少的东西,例如强大的XQuery支持)。

似乎大多数Qt编写的应用程序都在处理2D / 3D / Games。

我认为缺点仅在于:必须了解C ++和缺少QuantumGrid这样的DevExpress产品。

我正在认真考虑移植我的一个简单应用程序(如ThumbsView之类的图片查看器)。

它实际上是从相同的代码库运行的。真正的!

忘记Kylix,Mono,Lazarus和Free Pascal。这个Qt东西击败了他们十次。

Qt Creator离IDE很远。但是我希望将来他们会添加更强大的调试器,代码见解和重构(至少是"重命名")以及更有意义的编译器错误。

我会认真推荐给没有Pascal / C ++经验的人使用Qt学习曲线。