【问题标题】:What is the most popular general purpose C++ framework? [closed]什么是最流行的通用 C++ 框架? [关闭]
【发布时间】:2011-02-09 19:37:20
【问题描述】:

我在看 Qt 时想知道,最流行的通用 C++ 框架是什么,它的优缺点是什么?

【问题讨论】:

  • 什么样的框架?您是在专门讨论 Qt 和 GTK 之类的 GUI 工具包吗?
  • @Thomas - 说最好的通用工具包是否过于宽泛?
  • 在这种情况下它必须是Boost。
  • 您需要更具体地了解您所谈论的什么样的框架。我想你在谈论 GUI 框架,但有些 C++ 框架与 GUI 无关。
  • 在您的评论中,您将问题从“最受欢迎”更改为“最佳”。那是你的意图吗?无论哪种方式,仍然太模糊,因为您可以说将 Boost 与 Qt 结合使用;它们并不相互排斥。

标签: c++ frameworks


【解决方案1】:

STLBoost 都很受欢迎,它们几乎是“通用”的缩影。

【讨论】:

  • boost 是一个框架吗?我认为这只是图书馆的收藏。
  • 它们被认为是“框架”吗?除此之外 - 有点学术 - 问题,我同意。
  • @peter - 我不这么认为。我正在寻找真正让我的牙齿陷入困境的东西,并且不介意有一个好的起点。
  • 嗯,这就是为什么它是社区 Wiki。 “通用框架”对我来说确实有点像图书馆,因此我的回答是。
  • IMO 框架 = 你必须填充的骨架,库 = 乐高积木。但如前所述,这有点学术,因为区别不是黑/白。
【解决方案2】:

Qt 很受欢迎。它在开源 (LGPL) 和商业许可下可用,具有功能齐全的核心和 GUI 类库以及集成的 IDE 和构建系统。它也是跨平台的。

它正处于非常积极的开发中,并且有一个新的声明性 UI 库(QtQuick 包括 QML),将在下一个版本 (4.7) 中发布。

绝对值得一试新项目。

对于仅限 Windows 的工作 MFC 仍然值得一看。最近更新了。

【讨论】:

  • 我想强调的是,GUI 类库只是整个 Qt 框架提供的一部分。
【解决方案3】:

目前的问题可能无法回答;您最终可能会得到一份人们对“框架”的解释列表,而没有真正的区分它们的方法。

也许我们需要一个框架的定义?我建议它是一个在某种程度上决定整个应用程序架构的库。但是,这可能是“Application Framework”的定义,但如果您的意思更广泛,那么问题可能太广泛了。然而,这个定义使 Qt 成为一个框架,而 Boost 仍然只是一个库。这使得 Boost 不再或多或少有用,所以我真的不明白你想从这个问题中发现什么。

这里列出了可能被视为“框架”的 UI 相关库:

最显着的区别是其中一些是跨平台的,而一些是特定于平台的。 Gnome 的区别可能在于具有 C API (GTK+)。 .Net 支持多种语言,但需要 C++/CLI 而不是 ISO C++(但这并不比 Qt 的预处理器 IMO 差)。 MFC 有点长,并且不受免费或第三方工具的支持。 TurboVision 是古董,包括我的娱乐和极客怀旧。

【讨论】:

  • VCL(用于开发 Microsoft Windows 应用程序的面向对象框架),FireMonkey(跨平台 GUI 框架)
  • GNOMEKDE 不是 UI 库,它们是 桌面环境。 KDE 使用 Qt 应用程序框架,GNOME 使用 GTK widget toolkit,但 GTK 不是 C++ 库,因此gtkmm 是 GTK 的 C++ 包装器。 KDE 和 GNOME 也有自己的自定义库。
【解决方案4】:

我知道这篇文章很旧,但我发现它非常有用。 我想将PoCo(便携式组件)添加到列表中

我将它用于一些项目,并包含一个一致且设计良好的框架:

  1. XML
  2. 多线程
  3. 网络
  4. 密码学
  5. 一般用途

它也是可移植的(我在 Windows 和 Unix 上使用过)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2016-12-26
    • 2010-10-22
    • 2012-03-16
    • 2017-01-04
    相关资源
    最近更新 更多