TGViewer
Программирование {BookFlow} Программирование {BookFlow} @bookflow · 15.6K subscribers
Post #3832 1.58K
Опыт создания UI библиотеки на C++

Началось все почти два года назад в декабрe, наш основной проект (видео мессенджер) использовал WTL для Windows и GTKmm для Linux. Поддержки мака не было. Огромной неприятностью было тащить два идентичных клиента, которые, по идее, должны делать все строго одно и тоже. Разумеется, это никогда не получалось. От мысли что надо бы сделать ещё один нативный клиент для мака начинался нервный тик...

На резонный вопрос - почему сразу делалось не на Qt могу лишь ответить, что это связано с, так скажем, гурманскими предпочтениями и, отчасти, с любовью к монолитным exe. Да и не требовалось на старте ничего кроме винды.

В течение шести лет жизни с двумя кодовыми базами одного и того же, неспешно подбирались легковесные UI библиотеки написанные хотя бы в стиле C++11.

Надо сказать, что мы активно используем boost и всей душой, как можем, его любим...

В 2021 году видимо Гугл работал плохо или звёзды так сошлись, но не нашлось ничего стоящего. Все что попадалось - основанные на рендеринге html проекты и обертка над wxWidgets. Сейчас то мы знаем про lvgl, да... А вообще, тысячи их.

wxWidgets не плох, но хотелось своего рисования, без окошек под кнопки, поля ввода и списки, boost/bsd подобной лицензией, максимально лаконичной, и в идеале работающей от Windows XP / CentOS 6 на стандартном GDI / X11 до Vulkan на современных машинах.

В итоге, все же было принято волевое решение сделать минимальный UI фреймворк для этого проекта, и сразу выпускать его в Open Source под лицензией boost.

https://habr.com/ru/articles/768336/

#cpp

👉 @Bookflow
  • 👍 3
  • ❤ 1
More from @bookflow
  1. Oct 5, 2026🖼 Из картинки - в 3D-сцену со звуком: image-blaster Загружаешь изображение, запускаешь Cl…
  2. Oct 2, 2026xdg-ninja — это полезный инструмент для программистов и пользователей Linux, который помог…
  3. Sep 29, 2026🔐 Путеводитель по аутентификации: от Cookies до OAuth 2.0 Разбираться в способах входа по…
  4. Sep 24, 2026Работа с HTTP API (на практике) Подготовил мини-серию из пары десятков практических задани…
  5. Sep 22, 2026🔎 Kor — найти забытые ресурсы в Kubernetes После экспериментов и релизов в кластере остаю…
  6. Sep 20, 2026Детальный обзор полей Галуа "Попросите Якоби или Гаусса публично высказать своё мнение — н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →