未来德尔福与Qt

时间:2010-11-03 09:03:56

标签: delphi qt vcl

下一版Delphi是否会发布跨平台支持和基于Qt的组件?如果是这样,我们是否必须使用Qt分发? (我对Qt一无所知) Qt如何帮助Delphi世界,为什么许多使用C ++的程序员开始使用Qt,以及VCL会发生什么?

3 个答案:

答案 0 :(得分:3)

  

我们是否必须使用Qt分发

可能。很大程度上取决于它将如何实现,以及Qt如何链接到可执行文件。根据使用的Qt许可证类型,还有一些有趣的含义。 LGPL 不是 MPL或BSD ......

  

为什么许多使用c ++的程序员开始了   与他们一起使用Qt

Qt是一个C ++库,C ++开发人员直接使用它。从C ++使用它来编写可移植应用程序是有意义的。在包装器上创建包装器没有多大意义,Qt / VCL会是什么。他们将采取这条道路,因为以这种方式提供跨平台框架的速度更快,但他们没有从他们犯下的错误(CLX,VLC.NET)中学到任何东西,并会再次重复。他们必须将使用onw设计编写的库映射到Delphi库设计,这意味着很多妥协,而无需对底层框架进行任何控制。恕我直言,这将像CLX和VCL.NET一样失败。

答案 1 :(得分:1)

将会有一个新的VCL +库,与VCL“经典”库一起发布。

据我们所知,这个VCL +库将基于Qt 4。 而“经典”VCL将保留,但仅针对Windows。

由于Qt是基于C ++的,因此将有一个包含库的“平面”版本的dll,可以从Delphi代码中访问。此dll必须随您的应用程序一起发布。由于Qt可以静态链接,我想这个dll将包含所有必需的Qt代码,准备在Windows / Linux / MacOsX上运行。但另一种可能性就是拥有一个“平坦”的dll,可以调用其他Qt dll,当有新的官方Qt更新发布时,可以有意升级:最好不要依赖EMB跟进Qt升级,即不购买新的Delphi许可证才能访问更新的Qt框架。

我怀疑Delphi程序员使用Qt的方式将远离c ++程序员如何使用该库。 Qt在很大程度上依赖于宏和预编译(编译Qt应用程序非常耗时),而Delphi将依赖于组件和更经典的类方向(可以快速编译)。

我们只能猜测用CLX库做什么,当Borland基于Qt 2发布Delphi和Kylix时。我希望他们从这个实验中学到了(CLX从未被广泛部署/使用过)。但Qt 4绝对比Qt 2更具吸引力。

我们还不知道VCL +将依赖Qt Core的深度。将RTL的某些部分转换为更好地匹配Qt设计吗?例如,多线程和套接字是否会调用Qt Core的相应部分?对于跨平台的兼容性而言,它可能是有意义的,而不是重新发明轮子,因为Qt的工程师已经努力工作并维护它......

答案 2 :(得分:1)

那么,根据他们之前的路线图,当前版本(Delphi XE)应该提供跨平台支持;也就是说,为不同的平台(Win,Mac,Linux)编译项目,而不是将IDE移植到这些平台。但他们没有提供它,并将其推迟到未来版本中。

current roadmap仍然含糊不清;它说它们会提供它,但没有特定的时间范围(64位编译器预览除外)。 Embarcadero推迟了预期的功能(例如64位支持或跨平台支持),但没有正确通知客户几次,例如,大多数(如果不是全部)客户不知道跨平台支持被排除在外XE正式发布前几周。因此,看到他们再次推迟或完全驳回他们目前的路线图,我不会感到惊讶。

对于Qt,德尔福产品经理Mike Rozlog在his interview with Delphi Podcast;他们的跨平台支持将基于他们之前的Delphi 6和Delphi 7中提供的跨平台库(CLX)。甚至他提到大多数现有的基于CLX的应用程序可能使用新的交叉成功编译 - 平台功能。因此,如果没有改变,那么是的,它将是一个Qt基础解决方案。 CLX也基于Qt库。

如果它是基于Qt的,那么你也必须部署Qt运行时库。在Linux中它应该不是问题,因为据我所知,大多数Linux发行版已经安装了Qt运行时。对于Windows,我知道它默认不安装。我不知道Mac OS。

  

Qt如何帮助Delphi世界

Qt是一个流行且完善的跨平台框架,由诺基亚拥有和开发,并免费发布(LGPL许可证)。 Delphi可能只是假设使用Qt GUI小部件来支持跨平台的GUI,但是Qt本身几乎包含许多不同的库,只是一个GUI框架。

  

为什么许多使用c ++的程序员开始了   与他们一起使用Qt

你应该向C ++开发人员提问,但据我所知; Qt是一个经过验证的跨平台框架,拥有一个不错的IDE和UI设计器(Qt Creator),可以很容易地与流行的开发工具(例如Visual Studio)集成,有很好的支持,你可以找到几乎所有的Qt端口主要的编程语言,诺基亚正在将其作为当前和未来移动平台的基础软件框架(例如Symbian ^ 4和MeeGo)。

  

VCL将会发生什么

再次提到Mike Rozlog;他们将把VCL作为一个基于Windows的框架,并为跨平台开发提供一个类似于VCL的新框架。

相关问题