调查:生产环境中使用的C++框架
尽管年事已高,C++仍然是高负载系统、游戏引擎、金融软件和嵌入式解决方案中最受欢迎的语言之一。然而,为实际商业项目选择框架并非易事。PythonLib编辑部对500多名开发者进行了调查,分析了哪些C++库和框架真正用于生产环境,而不仅仅是个人项目。
调查方法
参与者被要求选择最多三个他们在当前商业产品工作中使用的框架。来自俄罗斯、独联体国家和欧洲的开发者参与了调查。结果已排除重复投票。
生产环境C++框架前五名
- Qt(78%的票数) — 无可争议的领导者。不仅用于GUI,还用于网络应用、数据库操作和多线程。主要领域:医疗软件、CAD系统、汽车电子。
- Boost(64%) — C++的“瑞士军刀”。应用于金融领域、电信和后台服务。最受欢迎的组件:asio(网络)、beast(HTTP/WebSocket)、filesystem。
- POCO(41%) — 高负载服务器和物联网解决方案的稳定选择。开发者因其清晰的架构和没有“沉重”依赖而看重它。
- Crow(29%) — 用于REST API的现代微框架。积极用于初创公司和微服务架构。关键优势:开发速度快,开销最小。
- Drogon(22%) — 日益流行的异步框架。最常见于需要高HTTP服务器性能和WebSocket支持的项目中。
意外结果
有趣的是,Google Test和Catch2被开发者视为必备工具,但并未将其归类为框架。特别值得一提的是对Folly(Facebook开源库)的兴趣增长——7%的受访公司使用它,主要是在大型IT企业中。
未进入前五的框架
- Wt(Web Toolkit) — 仅4%。开发者指出集成困难且文档不足。
- SFML — 尽管在游戏开发中受欢迎,但在生产环境中仅3%的案例使用。
- Pistache — 2%。REST的有趣替代方案,但目前在稳定性上还达不到Crow和Drogon的水平。
总结与预测
C++框架市场正在缓慢但坚定地朝着模块化和简化开发的方向发展。Qt继续在桌面领域占据主导地位,Boost在基础设施解决方案中仍然不可或缺,而Crow和Drogon正在抢占Web领域。如果您正在为新的商业项目选择框架,请从分析您的需求开始:对于GUI选择Qt,对于高负载后端选择Boost + Crow,对于企业系统选择POCO。
调查于2025年3月基于PythonLib社区进行。共有528名受访者参与投票。