繁体   English   中英

使用跨平台框架针对一个平台进行开发有哪些弊端?

[英]what are the disadvantages of using a cross-platform framework to develop for one platform?

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

  1. 当我不打算开发跨平台时,使用跨平台框架有任何不利之处吗? 直观地说,专门针对某个平台的框架在该平台上的性能要优于跨平台框架。 但我只是假设那样。

  2. 请列举我可以开始研究的框架和库,以便使用C ++在Windows上进行快速的应用程序开发。 首选具有大量文档的软件。 如果您提供了可以帮助我入门的链接,我们将不胜感激。

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

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

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

Qt是一个很好的选择。 它为Windows和其他平台提供了一个非常好的基于C ++的框架。 如果仅需要Windows,则还有其他选项,包括通过C ++Windows运行时 (用于Windows 8开发)或Microsoft基础类

通过使用跨平台框架,您将错过特定于平台的功能,例如对Windows 7跳转列表的编程控制。 由于这些原因,它不会感觉像是本机应用程序,而是像为另一个OS编写的应用程序的端口。 在许多情况下,这并不重要。

使用模板构建的现代C ++框架不会因为跨平台而使性能变差。 您将简单地错过在多个平台上不存在的功能。

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

例如wxWidgets-它们速度很快,但是没有太多的GUI类可用。 文档不是很好,但是已正确更新。

GNome-已被广泛使用,但需要大量的运行时部署,就内存使用而言,它会更加繁重。

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

诺基亚Qt-这是一个出色的跨平台框架,它不仅是另一个UI,还是用于跨平台开发的完整框架。 但是,Qt的问题是metaobjectcompiler(mod)。 这是一种语言扩展。

我建议您选择QT作为下一个框架。 它正在积极开发,轻巧,最近已开源,并且可以在LGPL lic下使用。

仅次于其他答案,Qt是一个很棒的框架(希望诺基亚能够幸免)。

跨平台框架主要有两个缺点:性能(通常它们会添加本机平台不需要的另一层),并且当然是跨平台的,即通常不支持特定于目标平台的功能。 使用Qt,我从来没有将性能视为问题。 Qt还引入了许多库,这些库实际上扩展了您可以在Windows中本地执行的功能,第二点在这里并不是真正的缺点。

Qt的唯一问题实际上是metaobjectcompiler(moc)。 首先,您会偶然发现一些奇怪的编译器错误,这些错误最终是由moc引起的。 只要记住这一点,并为谷歌的错误,你会习惯这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM