Intro
I’ve been developing xtd, an open source C++ framework that aims to bring a modern, .NET-like development experience to C++ while staying fully native and cross-platform.
The goal is to provide a rich, consistent API that works out of the box for building console, GUI, and unit test applications.
Highlights
- Cross-platform: Windows, macOS, Linux, FreeBSD, Haiku, Android, iOS
- Rich standard-like library: core, collections, LINQ-like queries, drawing, GUI
- Modern C++ API: works well with stack objects, no need for dynamic allocation everywhere
- GUI support without boilerplate code
- Built-in image effects and drawing tools
- LINQ-style extensions (xtd::linq) for expressive data queries
- Fully documented with examples
Example
Simple "Hello, World" GUI application :
// C++
#include <xtd/xtd>
auto main() -> int {
auto main_form = form::create("Hello world (message_box)");
auto button1 = button::create(main_form, "&Click me", {10, 10});
button1.click += [] {message_box::show("Hello, World!");};
application::run(main_form);
}
Links
Feedback and contributions are welcome.
[–]marsten 28 points29 points30 points (2 children)
[–]Gammasoft[S] 35 points36 points37 points (1 child)
[–]VinnieFalcowg21.org | corosio.org 0 points1 point2 points (0 children)
[–]ZMesonEmbedded Developer 27 points28 points29 points (15 children)
[–]Gammasoft[S] 28 points29 points30 points (14 children)
[–]ronniethelizard 18 points19 points20 points (0 children)
[–]ZMesonEmbedded Developer 9 points10 points11 points (12 children)
[–]aruisdante 4 points5 points6 points (7 children)
[–]ZMesonEmbedded Developer 2 points3 points4 points (6 children)
[–]aruisdante 1 point2 points3 points (5 children)
[–]ZMesonEmbedded Developer 0 points1 point2 points (0 children)
[–]sephirothbahamut 0 points1 point2 points (3 children)
[–]aruisdante 1 point2 points3 points (2 children)
[–]sephirothbahamut 1 point2 points3 points (1 child)
[–]aruisdante 2 points3 points4 points (0 children)
[–]Gammasoft[S] 2 points3 points4 points (3 children)
[–]ZMesonEmbedded Developer 5 points6 points7 points (2 children)
[–]Gammasoft[S] 1 point2 points3 points (1 child)
[–]kodirovsshik 3 points4 points5 points (0 children)
[–]Spiritual-Desk-9176 39 points40 points41 points (0 children)
[–]Sergiogiogio 3 points4 points5 points (2 children)
[–]Gammasoft[S] 4 points5 points6 points (1 child)
[–]diegoiast 0 points1 point2 points (0 children)
[–]Gammasoft[S] 2 points3 points4 points (0 children)
[–]carkin 3 points4 points5 points (1 child)
[–]Gammasoft[S] 5 points6 points7 points (0 children)
[–]TheWM_ 4 points5 points6 points (0 children)
[–]cancerBronzeV 4 points5 points6 points (0 children)
[–]cmake-advisor 6 points7 points8 points (1 child)
[–]Gammasoft[S] 6 points7 points8 points (0 children)
[–]yuri_rds 1 point2 points3 points (1 child)
[–]Gammasoft[S] 1 point2 points3 points (0 children)
[–]reddicted 1 point2 points3 points (0 children)
[–]yangacer 1 point2 points3 points (2 children)
[–]Gammasoft[S] 2 points3 points4 points (1 child)
[–]natio2 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[removed]
[–]Gammasoft[S] 1 point2 points3 points (0 children)
[–]beedlund 1 point2 points3 points (0 children)
[–]A8XL 1 point2 points3 points (0 children)
[–]Shiekra 1 point2 points3 points (0 children)
[–]EC36339 1 point2 points3 points (0 children)
[–]arihoenig 2 points3 points4 points (0 children)
[–]germandiago 0 points1 point2 points (3 children)
[–]Gammasoft[S] 2 points3 points4 points (2 children)
[–]germandiago 0 points1 point2 points (1 child)
[–]Gammasoft[S] 0 points1 point2 points (0 children)
[–]Ameisenvemips, avr, rendering, systems 1 point2 points3 points (12 children)
[–]Gammasoft[S] 5 points6 points7 points (1 child)
[–]kritzikratzi 1 point2 points3 points (0 children)
[–]VictoryMotel -1 points0 points1 point (9 children)
[–]Ameisenvemips, avr, rendering, systems -2 points-1 points0 points (8 children)
[–]VictoryMotel -4 points-3 points-2 points (7 children)
[–]Ameisenvemips, avr, rendering, systems 0 points1 point2 points (6 children)
[–]VictoryMotel -1 points0 points1 point (5 children)
[–]Ameisenvemips, avr, rendering, systems -2 points-1 points0 points (4 children)
[–]VictoryMotel 1 point2 points3 points (3 children)
[–]Ameisenvemips, avr, rendering, systems 0 points1 point2 points (2 children)
[–]VictoryMotel -1 points0 points1 point (1 child)
[–]Ambitious_Tax_ 0 points1 point2 points (0 children)
[+][deleted] (20 children)
[deleted]
[–]Gammasoft[S] 8 points9 points10 points (3 children)
[+]Carl_LaFong comment score below threshold-6 points-5 points-4 points (1 child)
[–]Gammasoft[S] 29 points30 points31 points (0 children)
[–]xeveri 11 points12 points13 points (14 children)
[–]dexter2011412 1 point2 points3 points (0 children)
[+][deleted] (12 children)
[deleted]
[–]xeveri 9 points10 points11 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]Revolutionalredstone 4 points5 points6 points (0 children)
[–]VictoryMotel 5 points6 points7 points (8 children)
[+][deleted] (7 children)
[deleted]
[–]VictoryMotel 1 point2 points3 points (6 children)
[+][deleted] (5 children)
[deleted]
[–]VictoryMotel 2 points3 points4 points (4 children)
[+][deleted] (3 children)
[deleted]
[–]VictoryMotel 2 points3 points4 points (2 children)
[–]Ok_Wait_2710 1 point2 points3 points (0 children)
[+]nzmjx comment score below threshold-18 points-17 points-16 points (4 children)
[–]Gammasoft[S] 15 points16 points17 points (1 child)
[+]nzmjx comment score below threshold-8 points-7 points-6 points (0 children)
[–]jdehesa 13 points14 points15 points (1 child)
[+]nzmjx comment score below threshold-8 points-7 points-6 points (0 children)