Experience using crow as web server

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Crow

    A Fast and Easy to use microframework for the web. (by CrowCpp)

    I'm investigating using C++ to build a REST server, and would love to know of people's experiences with Crow-- or whether they would recommend something else as a "medium-level" abstraction C++ web server. As background, I started off experimenting with Python/FastAPI, which is great, but there is too much friction to translate from pybind11-exported C++ objects to the format that FastAPI expects, and, of course, there are inherent performance limitations using Python, which could impact scaling up if the project were to be successful.

  • CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  • json_test_data

    Test data for nlohmann/json

    On the other hand, I'd like to bring in the json library of my choice, e.g. https://github.com/nlohmann/json or https://github.com/danielaparker/jsoncons. So I'd prefer the web server library provides as little as possible in the way of Json support, and certainly doesn't get in the way of using my library of choice. Similarly, I'd like to use my choice of automatic object serialization.

  • pybind11

    Seamless operability between C++11 and Python

    I'm investigating using C++ to build a REST server, and would love to know of people's experiences with Crow-- or whether they would recommend something else as a "medium-level" abstraction C++ web server. As background, I started off experimenting with Python/FastAPI, which is great, but there is too much friction to translate from pybind11-exported C++ objects to the format that FastAPI expects, and, of course, there are inherent performance limitations using Python, which could impact scaling up if the project were to be successful.

  • fastapi

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

    I'm investigating using C++ to build a REST server, and would love to know of people's experiences with Crow-- or whether they would recommend something else as a "medium-level" abstraction C++ web server. As background, I started off experimenting with Python/FastAPI, which is great, but there is too much friction to translate from pybind11-exported C++ objects to the format that FastAPI expects, and, of course, there are inherent performance limitations using Python, which could impact scaling up if the project were to be successful.

  • jsoncons

    A C++, header-only library for constructing JSON and JSON-like data formats, with JSON Pointer, JSON Patch, JSON Schema, JSONPath, JMESPath, CSV, MessagePack, CBOR, BSON, UBJSON

    On the other hand, I'd like to bring in the json library of my choice, e.g. https://github.com/nlohmann/json or https://github.com/danielaparker/jsoncons. So I'd prefer the web server library provides as little as possible in the way of Json support, and certainly doesn't get in the way of using my library of choice. Similarly, I'd like to use my choice of automatic object serialization.

  • Oat++

    🌱Light and powerful C++ web framework for highly scalable and resource-efficient web application. It's zero-dependency and easy-portable.

    I looked at oatpp and drogon, which are both great, but feel too high-level for my purposes. I tried drogon and got something working, but it feels like too much for my requirements, as in particular I'd like to slot in my choice of Json and message-body handling. C.f. the simple approach in Crow, which I easily understand and build on.

  • drogon

    Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows

    I looked at oatpp and drogon, which are both great, but feel too high-level for my purposes. I tried drogon and got something working, but it feels like too much for my requirements, as in particular I'd like to slot in my choice of Json and message-body handling. C.f. the simple approach in Crow, which I easily understand and build on.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • Civetweb

    Embedded C/C++ web server

    Alternatives at the low to medium level of abstraction include civetweb and mongoose, which have a common ancestor. Both of these appear to be C rather than C++, but seem to be production quality and well-documented. Another C library is cpp-httplib, which is probably too low-level for me.

  • Mongoose

    Embedded Web Server (by cesanta)

    Alternatives at the low to medium level of abstraction include civetweb and mongoose, which have a common ancestor. Both of these appear to be C rather than C++, but seem to be production quality and well-documented. Another C library is cpp-httplib, which is probably too low-level for me.

  • cpp-httplib

    A C++ header-only HTTP/HTTPS server and client library

    Alternatives at the low to medium level of abstraction include civetweb and mongoose, which have a common ancestor. Both of these appear to be C rather than C++, but seem to be production quality and well-documented. Another C library is cpp-httplib, which is probably too low-level for me.

  • vx-libweb

    Hello, If you consider Linux-only, take a look at https://gitlab.com/vxlib/vx-libweb.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • REST APIs using C++. (Is this even done much?)

    13 projects | /r/cpp | 29 Mar 2023
  • [Cpp] Quelle bibliothèque de serveur Web C++ faut-il utiliser de nos jours ?

    3 projects | /r/enfrancais | 26 Mar 2023
  • C++ to Browser JS Framework Recommendations

    4 projects | /r/cpp | 6 Aug 2022
  • making a web server in c++?

    5 projects | /r/cpp_questions | 24 Feb 2022
  • Modern C++ Web API (Back-End Development)

    4 projects | /r/cpp | 15 Nov 2021

Did you konow that C++ is
the 7th most popular programming language
based on number of metions?