Страницы

Поиск по вопросам

пятница, 9 ноября 2018 г.

Библиотека Poco

Имел ли кто-нибудь дело с библиотекой Poco? Если да, то какие впечатления, особенно со стороны надежности и быстродействия.


Ответ

Есть один проект в разработке и один разработанный на поддержке где Poco используется в качестве фреймворка. Впечатления в целом положительные, библиотека разработана в "тру ООП вей" даже "java вей" с умеренный использованием шаблонов, потому глубокого знания С++ не требует. Быстродействие - в качестве контейнеров использует STL, а в остальном мест требовательных к производительности нет =) Надежность - в целом библиотека построена на общеизвестных паттернах, потому архитектурных косяков нет. А если что-то идет не так можно запросто самому разобраться. Из минусов стоит отметить: В библиотеке очень много глобальных статических объектов-синглтонов. Собственно куча проблем с порядком их инициализации, который как известно не определен. Из-за этого всплывают НЕОЖИДАННЫЕ ошибки (для ознакомления - некорректно работающий семпл по логгированию). Разработчики знают, но ничего не делают. Лечится ручными патчами. "Магическая" Poco::Net - непонятно почему 2 итерации по написанию подсистемы tcp транспорта НЕОЖИДАННО отказывались работать. В детали вдаваться не буду, но в итоге от нее отказались в пользу няшной boost::asio. Из плюсов: Мощная система логгирования. NDC - позволяет выводить стек при исключения а-ля управляемый код. Высокоуровневые структуры для многопоточности. В целом хороший легковесный фреймворк без ГУИ. Особенно хорошо идет в сочетании с MFC, которому Poco может придать весьма благородный вид. Poco используем около 2х лет, задавайте свои ответы.

Комментариев нет:

Отправить комментарий