Has anyone here ever tried using Rust’s Qt or GTK bindings, or another library, to make a complex GUI beyond a few simple forms or dialog boxes? I keep hearing that the language’s architecture makes it really hard to do any sort of advanced GUI development on it, but what’s the actual experience like? How would you compare it to say, native Qt or GTK using C++/C respectively, or things like JavaFX or Flutter? Maybe even the .NET Framework or whatever Apple uses for their platform? Would you actually recommend Rust over any of those?

  • kyleisguilty@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    3 years ago

    haven’t done much GUIs on rust but i can say the Qt/GTK experience isn’t good, Qt/GTK rely too much on multiple ownership and on rust that’s a big no-no (basically, you either have to put everything behind a RefCell or use unsafe everywhere)

    thankfully that problem can be avoided by simply writing the library in rust (although that does bring other problems)

  • Reaton@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    3 years ago

    The only GUI software written in Rust I’ve seen so far is Fractal but I’m not sure we could say it’s a complex GUI tho :/
    They are actually working on rewriting the software from scratch with GTK4

    We are working on rewriting Fractal from scratch using GTK4 and the matrix-rust-sdk. This effort is called fractal-next.

  • Dessalines@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    3 years ago

    I’ve only played around with some, but my personal favorite was iced. The GTK and QT binding frameworks seemed overly complex for 99% of use cases.

  • newhoa@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    3 years ago

    Czkawka is a rewrite/improved version of FSlint written in Rust. It finds duplicate, broken, and excess files. And it can compare images and videos to find similar media. It uses Gtk (and Glade).

    Edit: Oh, and RedoxOS is an entire GUI OS written in rust.

    Sorry, I don’t personally have any experience programming Rust. But both of the projects I listed have pretty rapid development so I can’t imagine it’s insanely difficult. Then again maybe the devs are just coding geniuses. The guy that does Redox also works for System76 and a lot of their software is written in Rust.