使用跨平台框架为一个平台开发有什么缺点?

时间:2012-10-08 15:20:33

标签: c++ windows cross-platform

最近我一直在考虑是否应该开始研究另一个框架,因为我只有一台Windows机器,而且我不打算很快制作跨平台软件。所以帮助我做出这个决定......

  1. 当我不打算开发跨平台时,使用跨平台框架是否有任何不利之处?直观地说,我认为专用于某个平台的框架在所述平台上的表现要比跨平台框架更好。但我只是假设。

  2. 请列举我可以开始学习使用C ++在Windows上进行快速应用程序开发的框架和库。一个有大量文档的人是首选。如果你包含一个可以帮助我开始的链接,我将不胜感激。

4 个答案:

答案 0 :(得分:3)

  

当我不打算开发跨平台时,使用跨平台框架是否有任何不利之处?

这取决于框架。大多数框架都将自己限制在所有平台上都可用的功能,这可能会对您有所限制。您也可能无法利用该平台上给定平台的最佳功能或最佳开发环境。

  

请列举我可以开始学习的框架和库,以便在Windows上使用C ++进行快速应用程序开发。

这里的一个好选择是Qt。它为Windows和其他平台提供了一个非常好的基于C ++的框架。如果您只想要Windows,还有其他选项,包括Windows Runtime via C++(适用于Windows 8开发)或Microsoft Foundation Classes

答案 1 :(得分:2)

通过使用跨平台框架,您将错过特定于平台的装饰,例如对Windows 7 Jump Lists的编程控制。由于这些原因,它不会像原生应用程序那样,而是像为另一个操作系统编写的应用程序的端口。在许多情况下,这无关紧要。

使用模板构建的现代C ++框架不会因为它是跨平台而执行得更糟。您将错过多个平台上不存在的功能。

答案 2 :(得分:0)

通常,跨平台框架的问题是特定于框架的。

e.g。 wxWidgets - 它们很快,但没有太多的GUI类可用。文档不是很好,但是更新得当。

GNome - 它被广泛使用,但需要大量的运行时部署,在内存使用方面更加沉重。

这两者都是UI框架。两者都是GPL,因此你可以使用它。

Nokia Qt - 这是一个优秀的跨平台框架,它不仅仅是另一个UI,而是一个完整的跨平台开发框架。但是,Qt的问题是metaobjectcompiler(mod)。这是一种语言扩展。

我建议您选择QT作为下一个框架。它正在积极开发,轻量级,最近是开源的,可以在LGPL lic。下获得。

答案 3 :(得分:0)

只是为了得到其他答案,Qt是一个很棒的框架(希望能够在诺基亚生存下来)。

跨平台框架主要有两个缺点:性能(通常会添加本机平台中不需要的另一层),当然也是跨平台的,即通常不支持特定于目标平台的功能。有了Qt,我从未将性能视为一个问题。此外,Qt带来了如此多的库,它实际上扩展了你在Windows中本地可以做的事情,第二点在这里并不是真正的缺点。

Qt的唯一问题实际上是metaobjectcompiler(moc)。在开始时,您将偶然发现一些奇怪的编译器错误,这些错误最终来自moc。只要记住这个和谷歌的错误,你就会习惯这个。