4 ms·
This sounds awesome! Rust seems like it should be a good fit for native applications (Nice language+tools, and fast), but its lack of robust GUI tools limits th
by the__alchemist 5y ago
This sounds awesome! Rust seems like it should be a good fit for native applications (Nice language+tools, and fast), but its lack of robust GUI tools limits this. This should help, if it works well.
- isomel 5y agoThere are already plenty of GUI solutions for rust. All with a diverse level of polishing and convenience.
- rapsey 5y agoA diverse level of incompleteness you mean. Nothing comparable to Qt exists.
- isomel 5y agoExactly. But there are already bindings to Qt in different states. Let's see if this one bring anything.
- wongarsu 5y agoThere are plenty of GUI solutions that are robust enough for an embedded GUI or some WebAssembly stuff. For native (desktop) applications the rust ecosystem still has a long way to go.
- the__alchemist 5y agoYea - `embedded-graphics` is nice for embedded primatives and text.
- nu11ptr 5y agoAFAIK, the only complete desktop GUI option for Rust that is viable for large, professional apps is gtk-rs. There are many promising up and coming GUIs for hobby projects, but none I've seen are robust enough (yet) to support all needed widgets of a pro app.
- Macha 5y agoAccessibility support is the big killer for many of them, though even GTK has issues with that on Mac OS, so Qt would be a big win. Or I guess you could put a Rust wasm app into electron also and have accessibility support that way. Has to be one that uses a real DOM and not just renders to a canvas or WebGL though.
- ogoffart 5y agoI think you can go quite far with Qt/QML and the qmetaobject crate. For example https://github.com/gyroflow/gyroflow https://github.com/gyroflow/gyroflow
- nu11ptr 5y agoAhh...very cool, thx. Didn't realize it was that capable and was not aware of this "demo". I will check it out as I need to write a GUI soon (and would prefer to use Rust).
- zozbot234 5y agoAn idiomatic binding to wxWidgets would be a great alternative to Electron-like solutions for multi-platform GUI. AIUI, there's already a wxC project (i.e. a pure C foreign interface for wx, needed to support other bindings) and a Rust binding could be built on that.
- smasher164 5y agoI don't think wxC is supported anymore. Its SourceForge (lol) page lists 2013-04-15 as the last time it was updated. I believe with all the nice tooling that's popped up in the C++ space over the last decade (e.g. libclang, cxx) could allow bindings to be created more easily/sustainably. Someone has to do it though :)
- nu11ptr 5y agoIs wxC maintained? I didn't think it was. I always thought a more interesting approach would be like the one wxPython uses. They effectively walk the object tree generated by Doxygen docs and do code generation from it. Not sure how viable it would be to do this with Cxx directly or if it would be better to generate a C based API from it AND a Rust wrapper. The latter has the advantage that multiple languages could write bindings against this C based API (like wxC), but since generated, less maintenance.