Sadly Rust for WinUI3/UWP/XAML for Windows GUI - actually modern UIs on Windows - was abandoned or explicitly removed from Rust API bindings by MS. The listed library only uses the ancient win32 api
Doesn't surprise me, the folks behind it are the same that caused the deprecation from C++/CX, the very first time that Microsoft had something comparable to C++ Builder in productivity for C++ RAD GUI development. It got replaced with C++/WinRT, which basically requires one to code like in the good old days of Visual C++ 6.0 alongside ATL, editing IDL files without any kind of VS tooling support and manually merging…
Rust: State of GUI, December 2022
41–50 of 149 posts
Re: Rust: State of GUI, December 2022
#42Shout out to Dioxus. It's a react clone that provides a really nice experience and can run a web GUI faster than React can. That's quite the accomplishment given the disadvantage of having to use shims to access the DOM. If you want to choose a single language that can create native GUI's, Rust is probably your best or only choice. Other languages are lacking a good story for either the web or for iOS but Rust works…
Re: Rust: State of GUI, December 2022
#43How many of those actually look and behave like native and support accessibility correctly?
What even is "native" on Windows? Is it Win32? WinForms? WPF? UWP? WinUI? Windows App SDK? There's so many to choose from and they all look and behave differently.
For example, QtWidgets is native and qml is not. WxWidgets is, electron is not.
Re: Rust: State of GUI, December 2022
#44How many of those actually look and behave like native and support accessibility correctly?
This is a core design goal for Pax. https://www.pax-lang.org Pax composites a layer of native text and form elements on top of a canvas drawing layer. This solves accessibility across platforms, as well SEO on the Web. This approach also enables a lean runtime footprint ( Still early days — have made very little noise thus far; it's pre-alpha — but you can see what's cooking at https://docs.pax-lang.org/ and https://…
Re: Rust: State of GUI, December 2022
#45Re: Rust: State of GUI, December 2022
#46I use macOS, so apps should be written with AppKit. For Linux they should either be GTK or Qt, depending on desktop. Recreating widgets from scratch with GPU rendering is doomed to feel wrong to users.
Re: Rust: State of GUI, December 2022
#47Re: Rust: State of GUI, December 2022
#48Unless a Rust OS is created with an official toolkit, Rust apps will always exist on a platform that already has a native toolkit. Any custom framework will always feel wrong and out of place. I use macOS, so apps should be written with AppKit. For Linux they should either be GTK or Qt, depending on desktop. Recreating widgets from scratch with GPU rendering is doomed to feel wrong to users.
Re: Rust: State of GUI, December 2022
#49Shout out to Dioxus. It's a react clone that provides a really nice experience and can run a web GUI faster than React can. That's quite the accomplishment given the disadvantage of having to use shims to access the DOM. If you want to choose a single language that can create native GUI's, Rust is probably your best or only choice. Other languages are lacking a good story for either the web or for iOS but Rust works…
have you built anything with it? We're using Tauri, but Dioxus looks very interesting.
Re: Rust: State of GUI, December 2022
#50Earlier quoted context omitted.
This is a core design goal for Pax. https://www.pax-lang.org Pax composites a layer of native text and form elements on top of a canvas drawing layer. This solves accessibility across platforms, as well SEO on the Web. This approach also enables a lean runtime footprint ( Still early days — have made very little noise thus far; it's pre-alpha — but you can see what's cooking at https://docs.pax-lang.org/ and https://…
It does not answer the native styling though…
1. Conditional templating, like:
if $is_android {
//Only render the back button for Android
}
/* ... */
2. Dynamic properties where Rust logic checks for the target platform, like:
3. Maintain a separate codebase (or different specific components) for each target platform, in the spirit of React NativeOr any mix of the above.