Об этом проекте

xtd (произносится «extend») — это бесплатный современный фреймворк C++20/23 с открытым исходным кодом, предназначенный для создания консольных (CLI), форм (GUI, напоминающих WinForms) и модульных тестовых (xUnit) приложений и библиотек. Он делает акцент на высокой переносимости, поддерживая Windows, macOS, Linux, iOS, Android, FreeBSD, Haiku и SerenityOS. Ключевые особенности: - **Современный C++20/23**: использует эффективные современные стандарты C++, идиомы программирования RAII и полную интеграцию со стандартной библиотекой C++. - **API в стиле .NET**: предоставляет API, близкий к .NET, но с нативным подходом C++, что делает его интуитивно понятным для разработчиков, знакомых с экосистемой Microsoft. - **Мультиплатформенный GUI**: поддерживает создание нативных по внешнему виду элементов управления и диалогов GUI с возможностью настройки через CSS-таблицы стилей. - **Составные библиотеки**: структурирован на модульные библиотеки: - `xtd.core`: базовая системная функциональность, классы, интерфейсы и типы значений. - `xtd.drawing`: графика GDI+, 2D/векторная визуализация, печать и типографика. - `xtd.forms`: создание форм GUI и элементов управления для Windows, macOS и Linux. - `xtd.tunit`: фреймворк модульного тестирования, вдохновлённый фреймворком модульного тестирования C++ от Microsoft. - **Обширные примеры**: включает более 950 примеров, помогающих пользователям начать работу с консольными приложениями, формами GUI, корутинами и многим другим. - **Система сборки**: использует CMake для кросс-платформенной сборки и предоставляет инструмент командной строки `xtdc` для удобной сборки, запуска и упаковки. Проект активно развивается, сборки непрерывной интеграции выполняются для множества операционных систем и компиляторов (Clang, GCC, MSVC). Он распространяется под лицензией MIT, что делает его пригодным как для проектов с открытым исходным кодом, так и для проприетарных проектов.