C Qt与Eclipse RCP在跨平台GUI开发方面的优缺点是什么?

我将为现有的C应用程序开发一个新的GUI。该应用程序在Windows和Linux上工作,与GUI的通信是通过客户端/服务器。

Eclipse RCP和Qt之间的优缺点是什么?

Qt的一些优点:

> C的东西一般会表现得更好;然而,这是有争议的。
Qt是Meego的基地,the mobile platform由Intel,AMD等发起;然而,目前的势头对我来说似乎并不算太​​高。这意味着您也可以为各种移动和一般嵌入式设备创建应用程序
>有很多基于Qt的应用程序在那里。
>它有一个WYSIWYG designer
>适合小型到大型项目,特别是因为QtQuick,它允许在任何时间创建小型应用程序,并且几乎没有关于C的知识
> Qt在Python中有一个惊人的包装器,称为PyQt(当然也有PySide),它允许快速开发和光滑原型。人们经常使用PyQt(或PySide)作为Qt应用程序的用户界面。当然,您可以在同一应用程序中轻松使用Python和Qt,同时利用其所有优势(而且也是弱点)。这允许相对快速和平稳的开发周期即使对于大型项目

Qt的一些缺点:

>基于Qt的应用程序的代码使用一些不属于C的元素,它们必须在实际编译之前通过名为moc(Meta-Object Compiler)的特殊预处理程序转换为C。您和您的构建系统必须考虑到这一点。
>诺基亚(Qt的原拥有者,自acquired Trollech起)有sold it to Digia.但是,这是not imply their involvement in the development of the open source Qt has changed

Eclipse RCP的一些优点:

Eclipse RCP远不止图形工具包:

>它运行基于插件的架构,可以帮助在不同组件(插件)之间分配功能,并保持对这些组件(插件)之间的依赖性的控制。 Eclipse插件系统依赖于自己实现的称为OSGi的Java组件系统规范。
>它提供了一种机制来实现称为extension points的解耦应用程序可扩展性。

>您可以在应用程序中使用many Eclipse plugins,其中许多具有对商业产品友好的发行许可证。
>它有一个WYSIWYG designer

Eclipse RCP的一些缺点:

Eclipse使用了一个名为SWT的自定义窗口工具包;在每个平台上,它依赖于本机图形层。在Linux上,它依赖于Gtk+(尽管也可以使用Motif),这在我的经验(and other’s)中有性能问题,主要是以高速更新的小部件。实际上,我们许多人将Swing元素嵌入到Eclipse RCP应用程序中,以克服性能问题,同时保持Eclipse的可扩展架构;然而,这可以带来integration problems.有一个版本的SWT使用Qt作为后端,但它被并入Eclipse的代码库seems stagnated since October 2010
>启动时间(被理解为从应用程序启动到经过窗口显示的时间)Eclipse RCP应用程序可能很长。
>如果您打算通过JNI将C东西与Java集成,请注意some people find it difficult
Eclipse有很多bug。 Eclipse’s bugzilla是RCP开发人员非常有用的资源。
>您希望Eclipse RCP应用程序的外观和行为与Eclipse IDE不同,您将遇到的麻烦越大。
在我看来,Eclipse RCP开发有一个很大的学习曲线。
>使用Eclipse RCP进行小项目基本上是一个自杀(除非你限制自己只创建一个插件或类似的)。由于其基础设施复杂,资源需求和上述陡峭的学习曲线,适用于中大型和大型项目。
> Eclipse RCP不适用于移动开发,因为…它是RCP(富客户端平台)。如果你想去手机,这不适合你。

在我看来,他们的发行许可证(LGPL / GPL / Qt的商业版,Eclipse的EPL)对于大多数用途来说足够灵活。不过,我不是律师,所以我可能会误会。

当然,还要考虑其他因素,如开发人员的经验,技术能力,团队规模,具体要求等。

BTW,我在Eclipse RCP方面有很多经验,但只有Qt的理论知识,所以我可能在我的发言中有偏见/错误。

http://stackoverflow.com/questions/5571913/what-are-the-pros-and-cons-in-c-qt-vs-eclipse-rcp-for-cross-platform-gui-devel

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:C Qt与Eclipse RCP在跨平台GUI开发方面的优缺点是什么?