C++ 带有信号、线程和网络、Qt或POCO的控制台应用程序

C++ 带有信号、线程和网络、Qt或POCO的控制台应用程序,c++,multithreading,qt,console,poco-libraries,C++,Multithreading,Qt,Console,Poco Libraries,我必须开发一个通过IPC与QtGUI交互的控制台应用程序。我已经对Qt框架有了很好的经验,我对POCO完全是新手。我还需要一个好的SQLite包装 在我的案例中,Qt与Poco的利弊是什么 到目前为止,我列出了: Qt优点: 非常好的文档 活跃社区 就我而言,经验 易于使用 跨平台 SQLite包装很好 通过信号和插槽轻松实现线程化(无需互斥) Qt缺点: 与标准C++的集成不足,所有的工作都与QT对象(QStand等)一起使用。 元对象编译器(MOC) 新开发人员必须学习Qt框架才能编写

我必须开发一个通过IPC与QtGUI交互的控制台应用程序。我已经对Qt框架有了很好的经验,我对POCO完全是新手。我还需要一个好的SQLite包装

在我的案例中,Qt与Poco的利弊是什么

到目前为止,我列出了:

Qt优点:

  • 非常好的文档
  • 活跃社区
  • 就我而言,经验
  • 易于使用
  • 跨平台
  • SQLite包装很好
  • 通过信号和插槽轻松实现线程化(无需互斥)
Qt缺点:

  • 与标准C++的集成不足,所有的工作都与QT对象(QStand等)
  • 一起使用。
  • 元对象编译器(MOC)
  • 新开发人员必须学习Qt框架才能编写代码
  • 在Mac上坚持GCC4.2.1,而不是从现在起在Mac上发布的最新版本
  • 必须从QObject继承才能使用信号、线程等
Poco专业人员:

  • 易于使用
  • 网络更快(在我的例子中是Http)
  • 无需主运行中心
  • 用叮当声无缝构建
  • 跨平台
  • 容易穿线
Poco缺点:

  • 缺少文档
  • 小社区
  • ?
我希望Qt5可以在mac上与clang、llvm一起使用

我非常感谢你对这方面的见解


谢谢。

你在考虑提振吗?它有一个很好的IPC库。boost对于网络来说级别太低,并且缺乏imho文档。如果您需要轻松联网,那么您也可以查看。像这样的技术评估问题对于堆栈溢出无效。它们是大猩猩和鲨鱼式的问题。你在Qt中列出的大多数缺点都是主观的。例如,MOC并不是一个真正的问题,因为它与开发环境一起出现,并为您提供神奇的功能。许多Qt开发人员可能甚至不知道它的存在。强制使用Qt类(QStand等)是假的:可以同时使用这两种,但是基于Qt的类的整个点是可移植性,这是我假设您首先要创建的,当您想要首先创建基于C++的命令行应用程序时。