(*) See portability for more information.
Latest news
• Release xtd 0.1.2 (beta) - Posted on March 12, 2024
• The xtd 0.2.0 (beta) is growing - Posted on November 12, 2023
• Release xtd 0.1.1 (beta) - Posted on Jully 17, 2023
• The new xtd website is online - Posted on February 9, 2023
• All news
Features
• Free and open-source (MIT License).
• A collection of native C++ classes libraries, to complete std.
• API close to the .net API with 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++17/20 with RAII programming idiom.
• And highly portable and available on many different platforms (Windows, macOS, Linux, iOS and android).
• See features for more informations.
xtd libraries architecture
xtd is composed of several libraries.
xtd.core
The xtd.core library is modern c++17/20 library 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
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
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 operating system.
xtd.tunit
The xtd.tunit library is a unit-testing framework for modern C++17/20 inspired by Microsoft.VisualStudio.TestTools.Cpp.
See xtd libraries hierarchy.
Objectives and Mission
• xtd is a powerful, yet easy to use platform to build your applications upon.
• xtd is modular and scalable from embedded applications.
• xtd provides consistent, comprehensive and comprehensible programming interfaces.
• xtd favors simplicity over complexity ("as simple as possible, but not simpler").
• xtd aims for consistency in design, coding style and documentation.
• xtd emphasizes source code quality, in terms of readability, comprehensiveness, consistency, style and testability.
• xtd aims to make C++ programming fun again Guiding Principles
• Strong focus on code quality, style, consistency and code readability – all code must satisfy our coding style guide.
• Strong focus on tests (automated unit tests with high coverage).
• Build on top of solid foundations – use existing proven C, C++ or Objective-C libraries (e.g. Win32 APi, Gtk4, AppKit,...) where it makes sense.
Getting started
• Installation provides download and install documentation.
• Guides provides xtd guides and tutorials.
• Examples provides over 800 examples to help you use xtd, grouped by libraries and topics.