0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C++ Web相关的框架整理

Linux爱好者 来源:高效程序员 作者:Waleon 2021-10-26 09:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

众所周知,C++ 并不是一种流行的 Web 开发语言,究其原因有很多:语言门槛高、使用难度大、开发效率低 。 话虽如此,但随着 Emscripten 的成熟,未来 C++ 在 Web 方面会发挥更大的潜能,尤其是游戏、3D 应用等方面。

有关 C++ Web 相关的框架有不少,下面进行了简单的整理,并按照“Star”的数量进行了排序,希望能对大家有所帮助。

1

Proxygen

Proxygen 是 Facebook 开发的一个 C++ 的 HTTP 库,包含一个易用的 HTTP 服务器。支持 HTTP/1.1、SPDY 3 和 SPDY 3.1,同时也开始在为 HTTP/2 做开发。

Star:6.8k

GitHub:https://github.com/facebook/proxygen

2

Crow

Crow 是一个非常快速和易于使用的 C++ 微型 Web 框架(灵感来自于 Python Flask)

Star:6k

GitHub:https://github.com/ipkn/crow

3

C++ REST SDK

C++ REST SDK 是微软发布的一个 C++ 客户端-服务器通信库,该库基于 Modern C++ 异步 API开发者可以方便地连接并与服务交互。

Star:5.7k

主页:https://microsoft.github.io/cpprestsdk/index.html

GitHub:https://github.com/microsoft/cpprestsdk

文档:https://github.com/Microsoft/cpprestsdk/wiki

4

Drogon

Drogon 是一个基于 C++14/17 的 Http 应用框架,使用 Drogon 可以方便的使用 C++ 构建各种类型的 Web 应用服务端程序。

Star:3.7k

GitHub:https://github.com/an-tao/drogon

5

Oat++

Oat++ 是一个纯 C++ 实现的 Web 开发框架,高性能、简单的 API、跨平台、零依赖。

Star:3.1k

主页:https://oatpp.io/

GitHub:https://github.com/oatpp/oatpp

文档:https://oatpp.io/docs/start/

6

Pistache

Pistache 是一个现代而优雅的 C++ HTTP 和 REST 框架,完全采用纯 C++ 14 编写,并提供了一个清晰、友好的 API。

Star:2.2k

主页:http://pistache.io/

GitHub:https://github.com/oktal/pistache/

文档:http://pistache.io/guide/

7

Silicon

Silicon 是一个高性能、面向中间件的 C++ 14 http Web 框架。

Star:1.7k

主页:http://siliconframework.org/

GitHub:https://github.com/matt-42/silicon/

文档:http://siliconframework.org/docs/getting_started.html

8

Civetweb

CivetWeb 是一个易于使用、强大的、C/C++ 嵌入式 Web 服务器,带有可选的 CGI、SSL 和 Lua 支持。

Star:1.6k

GitHub:https://github.com/civetweb/civetweb

文档:https://github.com/civetweb/civetweb/tree/master/docs

9

Wt

Wt 是 Modern C++ 中的一个 Web GUI 库。使用 widgets 快速开发具有高度交互性的 Web UI,而无需编写任何 JavaScript。Wt 为您处理所有请求处理和页面呈现,因此您可以专注于功能。

Star:1.1k

主页:https://www.webtoolkit.eu/wt

GitHub:https://github.com/emweb/wt

文档:https://www.webtoolkit.eu/wt/documentation

10

cinatra

cinatra 是一个高性能易用的 http 框架,它是用 modern c++(c++17) 开发的,它的目标是提供一个快速开发的 c++ http 框架。

Star:914

Github:https://github.com/qicosmos/cinatra

类似的框架还有很多,像 TreeFrog、Cutelyst、Tufão、C++ Web Framework (CWF) 、CppCMS、QDjango、QtWebApp 。..。..

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTTP
    +关注

    关注

    0

    文章

    538

    浏览量

    35547
  • C++
    C++
    +关注

    关注

    22

    文章

    2127

    浏览量

    77357

原文标题:C++ Web(HTTP)开发 10 大利器

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C++与lua联合编程

    在现代软件工程的庞大架构中,纯粹的 C++ 与动态脚本语言之间的关系,早已演变成一场精密的“商业分工”。C++ 扮演着提供极致性能的“底层重工业”,而 Lua 则充当着实现灵活业务逻辑的“轻量级
    发表于 04-19 16:27

    C++:const 的空间,常量也能占内存?

    ] != BLACK)): return True return False c++语言5g.FsW.dgdfgsg.cnJIWWQc++语言 c++语言5g.I5y.dgdfgsg.cnJIWWQc++
    发表于 04-16 19:19

    keil实现cc++混合编程

    起因项目中使用到一个开源的模拟IIC的库,封装的比较好,但是是使用c++写的。于是将其移植到自己的项目中,主要有以下三步操作: 在工程选项中 C/C++中去掉勾选 C99 Mode
    发表于 01-26 08:58

    C语言与C++的区别及联系

    C语言和C++到底是什么关系? 首先C++C语言本来就是两种不同的编程语言,但C++确实是对C
    发表于 12-24 07:23

    CC++之间的联系

    1、语法兼容性: C++完全兼容C语言的语法,这意味着任何有效的C语言程序都可以直接在C++编译器下编译通过。 2、底层控制: C++
    发表于 12-11 06:51

    C语言和C++之间的区别是什么

    ,尤其是在涉及到类型转换时,会尽量防止隐式的、可能导致问题的类型转换。 相比之下,C语言允许更多的灵活性,但也更容易产生类型相关的运行时错误,因为其类型检查不如C++严格。 3、函数重载:
    发表于 12-11 06:23

    C/C++条件编译

    条件编译是一种在编译时根据条件选择性地包含或排除部分代码的处理方法。在 C/C++ 中,条件编译使用预处理指令 #ifdef、#endif、#else 和 #elif 来实现。常用的条件编译指令有
    发表于 12-05 06:21

    C++程序异常的处理机制

    1、什么是异常处理? 有经验的朋友应该知道,在正常的CC++编程过程中难免会碰到程序不按照原本设计运行的情况。 最常见的有除法分母为零,数组越界,内存分配失效、打开相应文件失败等等。 一个程序
    发表于 12-02 07:12

    C/C++代码静态测试工具Perforce QAC 2025.3的新特性

     Perforce Validate 中 QAC 项目的相对/根路径的支持。C++ 分析也得到了增强,增加了用于检测 C++ 并发问题的新检查,并改进了实体名称和实
    的头像 发表于 10-13 18:11 716次阅读
    <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>代码静态测试工具Perforce QAC 2025.3的新特性

    技能+1!如何在树莓派上使用C++控制GPIO?

    在使用树莓派时,你会发现Python和Scratch是许多任务(包括GPIO编程)中最常用的编程语言。但你知道吗,你也可以使用C++进行GPIO编程,而且这样做还有不少好处。借助WiringPi
    的头像 发表于 08-06 15:33 4468次阅读
    技能+1!如何在树莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言更合适呢?Python因其简洁性、丰富的库和资源而被
    的头像 发表于 07-24 15:32 1101次阅读
    <b class='flag-5'>C++</b> 与 Python:树莓派上哪种语言更优?

    请问如何在C++中使用NPU上的模型缓存?

    无法确定如何在 C++ 中的 NPU 上使用模型缓存
    发表于 06-24 07:25

    基于LockAI视觉识别模块:C++目标检测

    本文档基于瑞芯微RV1106的LockAI凌智视觉识别模块,通过C++语言做的目标检测实验。本文档展示了如何使用lockzhiner_vision_module::PaddleDet类进行目标检测,并通过lockzhiner_vision_module::Visualize函数将检测结果可视
    的头像 发表于 06-06 13:56 1008次阅读
    基于LockAI视觉识别模块:<b class='flag-5'>C++</b>目标检测

    开源鸿蒙Web与W3C标准分论坛圆满举办

    近日,开源鸿蒙开发者大会2025(OHDC.2025)Web与W3C标准分论坛在深圳圆满举办。本次分论坛汇集了生态伙伴、W3C委员会、行业标准制定方等数十位Web领域
    的头像 发表于 06-05 15:16 1176次阅读

    主流的 MCU 开发语言为什么是 C 而不是 C++

    在单片机的地界儿里,C语言稳坐中军帐,C++想分杯羹?难喽。咱电子工程师天天跟那针尖大的内存空间较劲,C++那些花里胡哨的玩意儿,在这儿真玩不转。先说内存这道坎儿。您当stm32f4的256kRAM
    的头像 发表于 05-21 10:33 1201次阅读
    主流的 MCU 开发语言为什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?