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.
1.2k
Stars
78
Forks
98
Open issues
13
Contributors
AI Analysis
xtd is a modern C++20 framework for building cross-platform console (CLI), GUI, and unit test applications targeting Windows, macOS, Linux, iOS, Android, FreeBSD, Haiku, and SerenityOS. It fills a niche for developers seeking a .NET-like API with native C++ semantics and genuine multi-platform support; it is best suited for teams building desktop and mobile applications where write-once-run-everywhere capability is valued, and least suited for performance-critical systems programming or proje...
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Multi-platform C++20 framework targeting .NET-style GUI/CLI development with modest adoption and steady maintenance
xtd is a C++20 framework providing console, GUI (forms), and unit test libraries aimed at cross-platform development across Windows, macOS, Linux, mobile (iOS/Android), and niche OSes. It emulates a .NET Framework API style within modern C++. GitHub activity shows consistent but slow growth (1,157 stars, ~2 per week), and adoption appears limited to hobbyists and small-scale projects; no major production deployments are documented. The project remains actively maintained by a single core contributor.
Initiated February 2019, xtd emerged as a personal effort to create a C++ analogue to .NET's multi-platform capabilities. The framework has remained under singular stewardship, progressing through beta phases (0.1.x releases in 2023–2024) toward a C++20-mandating 1.0.0 release announced in June 2025. No major organizational adoption or commercial backing is evident.
Star velocity is minimal (2 per week as of July 2026), suggesting niche appeal rather than viral adoption. The project's explicit positioning as a .NET-style framework, combined with C++20 requirement and cross-platform ambition, likely appeals to developers seeking Windows Forms–like abstractions on Linux/Mac rather than mainstream GUI audiences. No inflection points in adoption are evident from metadata.
Adoption not verified. No case studies, enterprise users, or production deployments are documented. The project lists downloads via SourceForge but no adoption metrics are disclosed. The small fork count (78) and low star trajectory suggest hobbyist or experimental usage rather than production reliance.
Based on README, xtd is layered: xtd.core (system functionality), xtd.drawing (GDI+ style graphics), and xtd.forms (GUI controls). The architecture appears modular and claims RAII patterns and C++20 idioms, but without access to source code, implementation quality cannot be assessed. README claims support for CSS-style forms and native mode rendering, but specific implementation details are not documented.
README references codecov badge but does not disclose coverage percentage. A unit test library (xUnit-style) is mentioned as a feature, but the framework's own test density is not stated.
Last push on 2026-07-06 (within 48 hours of analysis date) indicates active maintenance. No recent releases are documented after March 2024 (0.1.2 beta), suggesting development is either ongoing toward 1.0.0 or stalled pending major work. Single-contributor pattern implies sustainability risk; lack of issue/PR metrics limits visibility into development velocity.
ADOPT IF: you are building small-scale cross-platform CLI/GUI utilities in C++20 and prefer .NET-style APIs over Qt/wxWidgets abstractions, accept experimental/beta software, and can tolerate single-contributor maintenance. AVOID IF: you need production stability, broad ecosystem support, extensive documentation, or active commercial backing; wxWidgets or Qt are more proven. MONITOR IF: you are evaluating the C++20 ecosystem and curious whether .NET-style abstraction in C++ gains traction; xtd's 1.0.0 release may signal maturity—observe adoption and maintainer changes after release.
Independent dimensions
Mainstream potential
3/10
Technical importance
5/10
Adoption evidence
2/10
- Single-contributor sustainability: project depends entirely on one maintainer; no evidence of succession planning or backup contributors. Burnout or loss of interest could orphan the project.
- Unproven production maturity: no documented production deployments; beta status and low adoption make it uncertain whether xtd can handle real-world complexity, concurrency, or edge cases at scale.
- C++20 requirement may limit adoption: while C++20 is modern, many production codebases still use C++17 or earlier; this version mandate could exclude potential users who cannot upgrade.
- Documentation and learning curve: README shows architectural overview but does not indicate tutorial depth, API completeness, or ease of onboarding; comparison to .NET may mislead users expecting exact feature parity.
- Platform coverage claims vs. reality: supports 8 platforms (including niche OSes like Haiku, SerenityOS) but may have varying levels of testing/stability; claims of full portability are often aspirational in practice.
xtd will likely remain a niche framework appealing to hobbyists and experimental projects. C++20 adoption in the broader ecosystem may provide slow tailwinds, but lack of organizational backing and competitive pressure from Qt/wxWidgets suggest it will not approach mainstream adoption. The 1.0.0 release (expected post–June 2025) is a milestone but unlikely to catalyze significant growth without major marketing, documentation expansion, or industry validation.
Explore similar
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- C++
- License
- MIT
- Last updated
- 20h ago
- Created
- 90mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
[ENHANCEMENT] cmake - add options for selecting what projects to build
[ENHANCEMENT] xtd - Haiku OS support
[ENHANCEMENT] xtdc CLI - Under Windows, display command output in the event of errors
[QUESTION] using xtd in a pre-written CMake project
[ENHANCEMENT] xtd - Remove deprecated items
Open pull requests
No open pull requests.
Top contributors
Similar repos
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
1.2k | +1 | C++ | 6/10 | 20h ago |
|
|
7.2k | — | C++ | 8/10 | 1d ago |
|
|
10.4k | — | C++ | 8/10 | 2d ago |
|
|
1.1k | — | C++ | 7/10 | 2w ago |
|
|
5k | — | Swift | 7/10 | 3w ago |
|
|
8.9k | — | C++ | 8/10 | 4w ago |
wxWidgets (7,200 stars) is more established, has larger community, multiple maintainers, and production deployments. xtd's .NET-style API may appeal to Windows Forms developers but offers narrower ecosystem and unproven stability.
FTXUI (10,380 stars) focuses on terminal UI and is simpler in scope. xtd combines GUI/CLI/test frameworks, making it broader but less specialized; FTXUI likely outperforms xtd in terminal scenarios.
TGUI (1,058 stars, comparable size to xtd) is built on SFML and targets 2D graphics/GUI. xtd's multi-platform claim is broader, but TGUI likely has better documentation and clearer use cases.
Qt (not in similar list but implicit comparison) dominates production GUI; xtd lacks Qt's maturity, ecosystem, and commercial support. Qt bindings in C++ are more battle-tested and industry-standard.
Boost provides system-level abstractions. xtd adds high-level GUI/forms abstractions but does not position itself as a Boost alternative; they serve different layers.













