CLI-инструмент и библиотека Go для поиска и изменения данных в JSON, YAML, TOML, XML, CSV и других структурированных форматах с помощью единого синтаксиса селекторов.
pocoproject/poco
Кроссплатформенные библиотеки классов C++ для сетевых приложений: HTTP, сети, базы данных, XML/JSON и логирование.
- Звёзды
- 9,489
- Форки
- 2,325
- Открытые issues
- 154
- Последний коммит
- вчера
Что это?
POCO (Portable Components) C++ Libraries — это набор библиотек классов C++, предназначенных для решения часто встречающихся практических задач, прежде всего в интернет-приложениях с сетевой архитектурой. По своей концепции они похожи на Java Class Library или .NET Framework, но созданы на основе современного стандартного C++ и дополняют STL, а не заменяют её.
Библиотеки рассчитаны на широкий спектр платформ — от встраиваемых устройств до серверов — и распространяются по Boost Software License. Сборка выполняется с помощью CMake; дополнительные зависимости, такие как OpenSSL, MySQL, PostgreSQL и ODBC, позволяют включить защищённые соединения и доступ к базам данных. Компоненты можно собирать выборочно для устройств с ограниченными ресурсами.
Темы репозитория охватывают HTTP-клиент и сервер, сети, SQL и доступ к базам данных, клиенты MongoDB и Redis, JSON, XML, конфигурацию и логирование. Поэтому разработчики часто используют POCO вместе с Boost в одном проекте.
Ключевые возможности
- 01Предоставляет компоненты HTTP-клиента и сервера для сетевых приложений.
- 02Включает доступ к SQL-базам данных, а также клиенты MongoDB и Redis.
- 03Предлагает средства для разбора JSON и XML, работы с конфигурацией и логирования.
- 04Поддерживает OpenSSL и встроенный в Windows TLS-механизм SChannel.
- 05Собирается с помощью CMake; установить библиотеку можно через vcpkg или Conan.
- 06Позволяет собирать только нужные компоненты, чтобы уменьшить размер бинарного файла.
Сценарии использования
- Создание HTTP-сервисов или клиентов на C++ для настольных систем, серверов или встраиваемых устройств под Linux.
- Доступ к базам данных MySQL, PostgreSQL или ODBC из приложения на C++.
- Добавление слоя логирования и конфигурации на C++ в существующий сетевой продукт.
- Запуск одного и того же сетевого кода в Windows, Linux и macOS.
Быстрый старт
- 1
Установить зависимости в Debian/Ubuntu
sudo apt-get -y update && sudo apt-get -y install git g++ cmake libssl-dev libmysqlclient-dev libpq-dev - 2
Клонировать репозиторий
git clone -b main https://github.com/pocoproject/poco.git - 3
Настроить сборку с помощью CMake
cd poco && mkdir cmake-build && cd cmake-build && cmake .. - 4
Собрать библиотеки
cmake --build . --config Release
Что важно знать
- Требуется компилятор с поддержкой C++20 и CMake версии 3.26 или новее.
- Для дополнительных функций базы данных и TLS требуются клиентские библиотеки, например OpenSSL, MySQL или PostgreSQL.
В подборках
Темы
Частые вопросы
- Что такое poco?
- Кроссплатформенные библиотеки классов C++ для сетевых приложений: HTTP, сети, базы данных, XML/JSON и логирование. POCO (Portable Components) C++ Libraries — это набор библиотек классов C++, предназначенных для решения часто встречающихся практических задач, прежде всего в интернет-приложениях с сетевой архитектурой. По своей концепции они похожи на Java Class Library или .NET Framework, но созданы на основе современного стандартного C++ и дополняют STL, а не заменяют её.
- poco можно использовать бесплатно? Какая у него лицензия?
- poco распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- poco всё ещё поддерживается?
- Активно поддерживается. Последний коммит в poco — 23 окт. 2026 г..
- Для чего можно использовать poco?
- Создание HTTP-сервисов или клиентов на C++ для настольных систем, серверов или встраиваемых устройств под Linux. Доступ к базам данных MySQL, PostgreSQL или ODBC из приложения на C++. Добавление слоя логирования и конфигурации на C++ в существующий сетевой продукт. Запуск одного и того же сетевого кода в Windows, Linux и macOS.
- Как установить poco?
- Установить зависимости в Debian/Ubuntu: sudo apt-get -y update && sudo apt-get -y install git g++ cmake libssl-dev libmysqlclient-dev libpq-dev Клонировать репозиторий: git clone -b main https://github.com/pocoproject/poco.git Настроить сборку с помощью CMake: cd poco && mkdir cmake-build && cd cmake-build && cmake .. Собрать библиотеки: cmake --build . --config Release
- Где скачать poco?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pocoproject/poco
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Лёгкая базовая библиотека на C++: корутины в стиле goroutine, сетевые компоненты, логирование, разбор флагов, JSON, модульное тестирование и бенчмарки.
Редактор JSON с открытым исходным кодом: превращает JSON, YAML, CSV и XML в интерактивные графы, конвертирует форматы и генерирует код.
PHP-расширение с событийным сетевым движком и средой выполнения корутин для создания постоянно работающих TCP-, UDP-, HTTP- и WebSocket-сервисов.
C++11-фреймворк для параллельных вычислений и асинхронной работы с сетью, используемый в серверных сервисах Sogou для построения DAG-сценариев задач.
Простая и элегантная библиотека Python для HTTP-запросов HTTP/1.1 с поддержкой сессий, cookies, аутентификации и JSON.