Taking your ideas for my next linux app

Fredol@lemmy.world to Linux@lemmy.ml – 167 points –

I'm bored and want to practice my Rust skills. I am the creator of open-tv. If you have any idea for a linux desktop app, even if it seems quite complex, I will take it.

171

You are viewing a single comment

I'm not sure at all why to use Rust for a desktop app unless it's something super complex and demanding like a browser (the motivation for developing Rust in the first place). Otherwise use a garbage collected language that handles more bookkeeping for you.. Also the GUI toolkits so far aren't written in Rust afaik.

Hmm would a GUI toolkit or even a window system (X or Wayland server) in Rust count?

Otherwise I mostly want libraries and CLI programs rather than GUI ones. Or a kernel module. Like rewrite btrfs in Rust since the C version is still full of bugs after all these years from what I can tell.

Iced is a Rust GUI toolkit which is high level than any existing toolkits including Qt, GTK etc. System76's COSMIC desktop is developed using Iced. I believe Iced will replace Qt and GTK in Linux space in coming years.

Rust is not only for low level programs, but it's a general purpose high level language for any kind of applications. If the OP wants to go high level than Rust, there's always Haskell which is an older cousin of Rust but with more functional and higher level abstractions.

I believe Iced will replace Qt and GTK in the coming years

Why would you say something so controversial yet so brave?

In all seriousness, that sounds like an impossible dream, kinda like the "year of the Linux desktop".

The only question I have with regards to Iced is, how flexible is its theming, cuz COSMIC's theming is not that flexible. It's alright, but not the best.

I guess what constitutes a HLL is a matter of opinion but I think of Rust as low level, like C++ with memory safety. Haskell is high level but introduces its own brand of pain. Most of the imho interesting alternatives are on the exotic side. Maybe things will converge after a while.

Thanks for the link to iced. I'll look into it.