SkillAgentSearch skills...

Xtd

Free open-source modern C++20 framework to create console (CLI), forms (GUI like WinForms) and unit test (xUnit) applications and libraries on Windows, macOS, Linux, iOS, Android, FreeBSD, Haiku, and SerenityOS.

Install / Use

/learn @gammasoft71/Xtd

README

xtd

Write Once, Run Everywhere!

logo

<br/>

xtd (pronounced "extend") is a modern C++20 framework to create console (CLI), forms (GUI) and unit test (xUnit) multiplatform applications and libraries.

<br/> <div style={{ display: 'flex', justifyContent: 'left', flexWrap: 'wrap', gap: '30px', marginTop: '10px' }}> <a href="https://gammasoft71.github.io/xtd/docs/documentation/portability"><img src="https://github.com/gammasoft71/xtd/blob/master/docs/pictures/os/Windows_h100.png"/></a> <a href="https://gammasoft71.github.io/xtd/docs/documentation/portability"><img src="https://github.com/gammasoft71/xtd/blob/master/docs/pictures/os/macOS_h100.png"/></a> <a href="https://gammasoft71.github.io/xtd/docs/documentation/portability"><img src="https://github.com/gammasoft71/xtd/blob/master/docs/pictures/os/Linux_h100.png"/></a> <a href="https://gammasoft71.github.io/xtd/docs/documentation/portability"><img src="https://github.com/gammasoft71/xtd/blob/master/docs/pictures/os/iOS_h100.png"/></a> <a href="https://gammasoft71.github.io/xtd/docs/documentation/portability"><img src="https://github.com/gammasoft71/xtd/blob/master/docs/pictures/os/Android_h100.png"/></a> <a href="https://gammasoft71.github.io/xtd/docs/documentation/portability"><img src="https://github.com/gammasoft71/xtd/blob/master/docs/pictures/os/FreeBSD_h100.png"/></a> <a href="https://gammasoft71.github.io/xtd/docs/documentation/portability"><img src="https://github.com/gammasoft71/xtd/blob/master/docs/pictures/os/Haiku_h100.png"/></a> <a href="https://gammasoft71.github.io/xtd/docs/documentation/portability"><img src="https://github.com/gammasoft71/xtd/blob/master/docs/pictures/os/SerenityOS_h100.png"/></a> </div> <br/> <br/>

codecov web Reference Guide wiki discord Download xtd

Latest news

Features

  • Free and open-source (MIT License);
  • a collection of native C++ classes libraries, to extend std;
  • API close to the .net API with a modern C++ approach and full integration with the std standard;
  • xtd is designed to manage GUI controls and dialogs in pure native mode or with CSS styles.
  • written in efficient, modern C++20 with RAII programming idiom;
  • and highly portable and available on many different platforms;
  • See features for more informations.

xtd libraries architecture

architecture_logo

xtd is composed of several libraries.

xtd.core

core The xtd.core library is modern C++20 libraries of classes, interfaces, and value types that provide access to system functionality. It is the foundation on which c++ applications, components, and controls are built.

xtd.drawing

drawing The xtd.drawing library contains types that support basic GDI+ graphics functionality. Child namespaces support advanced two-dimensional and vector graphics functionality, advanced imaging functionality, and print-related and typographical services. A child namespace also contains types that extend design-time user-interface logic and drawing.

xtd.forms

forms The xtd.forms library contains classes for creating Windows-based applications that take full advantage of the rich user interface features available in the Microsoft Windows, Apple macOS and linux base operating system.

xtd.tunit

tunit The xtd.tunit library is a unit-testing framework for modern C++20, inspired by Microsoft.VisualStudio.TestTools.Cpp.

Getting Started

  • Installation provides download, install and uninstall documentation.
  • Guides provides xtd guides and tutorials.
  • Examples provides over 900 examples to help you use xtd, grouped by libraries and topics.

Development status

  • Release notes provides release notes information.
  • Roadmap provides a view of the xtd roadmap.
  • Kanban board provides a Kanban view for all tasks (enhancements, pull requests, bugs, questions,...).
  • Development status provides information about classes and libraries development status.
  • Translation status provides information about translations status.

Current release status

GitHub milestone GitHub milestone

This project is an open source project. The developers who participate do so on their own time. It is therefore difficult to fix realese dates.

But you can follow the evolution of the development. We keep the status up to date.

Continuous Integration build status

At each commit, a build and unit tests are performed for the following configurations

| Operating system | Architecture | Compiler | Build Type | Status | | -----------------| ----------------------- | ------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Linux (Ubuntu) | x86 / x64 | Clang / GCC | Debug / Release | Ubuntu | | macOS | x64 / arm64 | Apple Clang | Debug / Release | macOS | | Windows | x86 / x64 | MSVC (VS2022) | Debug / Release | Windows | | Windows (MSYS2) | x64 | Clang / GCC | Debug / Release | Manually

View on GitHub
GitHub Stars1.1k
CategoryDevelopment
Updated19h ago
Forks75

Languages

C++

Security Score

100/100

Audited on Mar 26, 2026

No findings