是否有人在C ++的高级标准库上工作

时间:2009-11-12 21:19:58

标签: c++

STL / Boost涵盖所有低级别的东西。

但是更高层次的概念呢?

Windows:我们有多个窗口库

  • KDE(QT)
  • 侏儒
  • 主题(C但以OO风格书写)
  • MS Windows

但是有人在制定统一的窗口标准吗? 包含以上所有内容的东西是可以接受的。 (即使它只访问常见的东西,它也是一个起点)。

网络:
那里有几个(包括Boost低级别的东西) 但有没有人在基于服务的网络层上工作?

Java / C#在其标准库中具有的所有其他内容 这些东西让初学者更容易跳入并说哇做了,它可以在任何地方(几乎)工作。

反正。希望有一些很酷的项目。

修改

也许没有一个。 但是,如果有一对可以捆绑在一起作为一个起点(并且可能随着时间的推移而被修改(在那里被弃用的关键字))成为一个很好的整合。

注意:Windows只是我要找的一小部分。 Java / C#语言比GUI更加强大。什么是一组很好的库,可以在一个地方获得所有功能。

11 个答案:

答案 0 :(得分:14)

平台之间存在太大的差异,无法为GUI编程获得明确的C ++标准。我认为Qt与你在可预见的未来中的距离非常接近。 wxWidgets是另一个受欢迎的选择,但据我所知,他们使用的是较少的现代c ++功能。

至于网络,我认为你有点模糊。如果您指的是基于HTTP的Web服务,我会看一下Pion

答案 1 :(得分:11)

好吧几乎是 2010而C ++ 几乎有线程。

我可能会因为这个问题而受到抨击,但C ++的移动速度太慢 - 这对其自身不利和用户群造成了不利影响。我欣然承认所涉及的技术和政治问题的困难,但这仍然是它的肮脏现实。当需要5到10年的时间来同意并实施构建模块时,语言无法构建更高级别的概念。

其原因引起了无休止的争论,但令人遗憾的是,C ++已经将自己降级为一种利基语言。我喜欢C ++,但我看看C#,Java,甚至Python和Ruby在过去5年中取得的进展,我越来越怀疑C ++是否值得付出努力。

答案 2 :(得分:9)

Poco C++项目旨在提供您提出的所有要求,但窗口除外:

  

POCO C ++库的目标是   以网络为中心的跨平台C ++   软件开发是什么Apple的   Cocoa适用于Mac开发或Ruby   在Rails上用于Web开发 - 一个   功能强大但易于使用的平台   构建你的应用程序。

答案 3 :(得分:5)

Qt可能是唯一完全符合您建议的框架。

答案 4 :(得分:5)

我猜这里有一些关键字查询驱动广告,因为我看到了REALbasic广告,这是我现在通常用于跨平台GUI的广告。

在过去的15年里,我花了很多时间在C ++ GUI上工作,包括为CodeWarrior PowerPlant零售我自己的portability layer,并处理两个基于Macintosh的GUI代码生成器,包括将Windows生成添加到{{ 3}}。我使用过wxWidgets,主要是wxPython。所以,我对跨平台GUI困难的看法是相当合格的: - )

跨平台的GUI框架很难在没有重大妥协的情况下几乎不可能 - 问题归结为行为的细微问题,这些问题通常会使用户陷入其他一些人无法达到的水平量化,但知道应用程序感觉不对。这比修复本机控件要困难得多。

我开始使用REALbasic,因为他们的框架比我尝试的其他任何东西都更能让人感觉正常(因为昂贵的商业许可证,我没有进入Qt。)

事情发展需要这么长时间的原因与C ++世界缓慢移动无关,这只是一个棘手的问题。最好的跨平台Java应用程序有条件地为OS / X做一些事情,对于有经验的用户而言,它们仍然是非常明显的,它们不是原生的Mac应用程序,尽管有些非常有用且非常接近于原生 - {{ 3}}和AppMaker是我最喜欢的两个。

答案 5 :(得分:3)

我认为制作一个非常全面的便携式GUI库是不可能实现的。操作系统太不同了。你能想象一个GUI库,涵盖从iPhone到Windows 7的所有内容,并且不会对它们感到奇怪吗?

答案 6 :(得分:3)

偶尔会出现一个Boost gui库 一般意见似乎是问题太广泛(你是针对手机,FPS游戏还是CAD工作站)而且工作太多了 - Qt / wxWidgets已经用了10年。

请参阅http://lists.boost.org/Archives/boost/2005/09/94453.php进行讨论。

它本来不错,因为GUI通常意味着跨平台和线程,因此所有GUI工具包都发明了自己的跨平台,文件系统和线程类。另一方面,如果在C ++中引入标准GUI,它可能看起来像TK!

答案 7 :(得分:3)

标准化有什么好处?当然,如果新手编码员想要下载一个SDK来构建便携式应用程序,让他们下载Qt(或类似的东西)并永远保持在它的精美围墙环境中。但是,如果C ++世界围绕着那个图书馆并且提升POCO和wxWidgets以及杂乱和闪电战++和本征以及其他101个奇妙的东西(是的,gtkmm和ACE甚至)在出生时被扼杀了,那将是一个悲剧,因为守门人标准图书馆认为不适合承认它们。

我认为多样性是好的(虽然在处理它时,有一个好的包管理器是有帮助的;我花了几个小时在Windows上设置构建依赖项,只需要几秒钟的Debian apt-get)。 / p>

答案 8 :(得分:1)

ACE非常适合并发通信和网络。

答案 9 :(得分:0)

对于跨平台窗口,有wxWidgets。 (原wxWindows)。

答案 10 :(得分:0)

只有每个人和他的兄弟,但他们几乎没有任何人能够到达任何地方。