Build an HTTP client or server in C++ without writing low-level network code from scratch.
Add JSON parsing and database connectivity to a C++ application using proven, cross-platform libraries.
Port a C++ application to Linux, macOS, Windows, or embedded IoT devices using a single codebase.
Connect a C++ app to MySQL or PostgreSQL using the optional database connector modules.
| pocoproject/poco | xenia-project/xenia | oneflow-inc/oneflow | |
|---|---|---|---|
| Stars | 9,419 | 9,404 | 9,395 |
| Language | C++ | C++ | C++ |
| Setup difficulty | moderate | hard | hard |
| Complexity | 4/5 | 5/5 | 4/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires CMake and a C++ compiler, optional features like OpenSSL or database connectors must be installed separately.
POCO stands for Portable Components, and this project is a large collection of C++ code libraries that software developers use when building applications that communicate over networks or the internet. Think of it like a toolbox: instead of writing common routines from scratch, a developer pulls in the POCO libraries to handle things like making HTTP requests, running an HTTP server, reading and writing JSON, connecting to databases, logging events, and managing configuration files. The libraries are designed to work on many different kinds of computers and operating systems, from desktop and server machines running Linux, macOS, or Windows, down to small embedded and IoT devices. The code is written in standard C++, which is a programming language known for speed and low resource use, and it builds on top of what C++ already provides rather than replacing it. Setting up POCO involves a build tool called CMake, which reads instructions from the project and compiles the source code into libraries your own programs can link against. The README gives detailed commands for Debian, RedHat, Arch Linux, macOS, and Windows. Optional dependencies like OpenSSL add encrypted network support, and database connectors for MySQL, PostgreSQL, and ODBC are also available but not required. For developers who prefer package managers, POCO is available through vcpkg and Conan. The project is open source under the Boost Software License, which is a permissive license that lets you use the libraries in commercial and personal projects without many restrictions. It has been around long enough to have an active community, dedicated documentation, a blog, and a presence on Stack Overflow for support questions. If you are a non-technical reader trying to understand what this repository is, it is essentially a set of building blocks for C++ programmers who need reliable, well-tested code for networking and internet applications, maintained by a community over many years.
POCO is a large collection of C++ libraries that give developers ready-made code for networking, HTTP, JSON, database connections, logging, and configuration, working across Linux, macOS, Windows, and embedded devices.
Mainly C++. The stack also includes C++, CMake, OpenSSL.
Use freely in commercial and personal projects with minimal restrictions under the Boost Software License.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.