Our great sponsors
vizia | kas | |
---|---|---|
9 | 13 | |
1,403 | 863 | |
4.5% | 1.5% | |
9.3 | 9.7 | |
2 days ago | 5 days ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vizia
- Vizia: A declarative GUI library written in Rust
-
Looking for this. html + css rendering through wgpu.
All of these projects have in common that they use Taffy (the project that I work on!) for box-level layout (which currently gives them block, flexbox, and grid layout) , and are either using or planning to use cosmic-text for text/inline layout. This gives you a decent first approximation of web layout, but it's not perfect and there are major features like float, display: inline-block, position: static, box-sizing: content-box missing. Not to mention that none of these implementations currently resolve CSS selectors, so you are effectively limited to inline styles (if you're interested in something in that direction then you may be interested in https://github.com/vizia/vizia).
-
Ebou Released 🚀: A (mostly full featured) cross platform desktop Mastodon client written in Rust + Dioxus
Vizia is basically fine-grained reactivity with an Elmish twist, though I haven't used it, so I couldn't say how well it works.
- GUI development with Rust and GTK 4
-
XUL Layout has been removed from Firefox
There are a number of up-and-coming Rust-based frameworks in this niche:
- https://github.com/iced-rs/iced (probably the most usable today)
- https://github.com/vizia/vizia
- https://github.com/marc2332/freya
- https://github.com/linebender/xilem (currently very incomplete but exciting because it's from a team with a strong track record)
What is also exciting to me is that the Rust GUI ecosystem is in many cases building itself up with modular libraries. So while we have umpteen competing frameworks they are to a large degree all building and collaborating on the same foundations. For example, we have:
- https://github.com/rust-windowing/winit (cross-platform window creation)
- https://github.com/gfx-rs/wgpu (abstraction on top of vulkan/metal/dx12)
- https://github.com/linebender/vello (a canvas like imperative drawing API on top of wgpu)
- https://github.com/DioxusLabs/taffy (UI layout algorithms)
- https://github.com/pop-os/cosmic-text (text rendering and editing)
- https://github.com/AccessKit/accesskit (cross-platform accessibility APIs)
In many cases there a see https://blessed.rs/crates#section-graphics-subsection-gui for a more complete list of frameworks and foundational libraries)
- Declarative UI Programming in Rust for Native Applications
-
Cosmic Text: Pure Rust multi-line text handling
I don't think it's actually merged into Iced yet. It is merged into https://github.com/vizia/vizia though.
-
Rust GUI framework
Vizia
-
lightweight gui for rust
I have recently learned about https://github.com/vizia/vizia and it looks very promising to me
kas
-
I like rust but want to use Qt.
Qt classic/widgets? I'm developing Kas to offer vaguely similar features (e.g. data models, theme abstraction, custom widgets with complex event handling), though said event handling and data models are quite different. It's still got a long way to go (so API is not stable), but in case you are interested, I should be dropping a new release tomorrow.
-
Rust GUI framework
KAS GUI
-
Does a wgpu text renderer exist for Android?
kas-wgpu looks hopeful, but there's very little information about it and I'm not even sure it works on Android.
-
KAS GUI v0.10
Changelog
-
KAS GUI v0.9
The next release will support dynamic linking which approx. halves the recompile time in my quick tests. This is based on Bevy which also recommends using LLD (see here); I didn't have much success with this yet however.
-
Cross platform native guis in rust
If you want a "native-like" toolkit like Qt but Rust-native, then Druid, KAS and Iced are the most advanced in my opinion (though all are incomplete).
-
KAS GUI v0.7 release
Yes. It was actually a mistake (using a nightly compiler and not realising the lock-in). But in this case (with KAS still in "earlyish development" and the workaround being less concise), I decided to leave it.
-
Type conversion, success expected
This is a little library I've been using recently (original version here).
-
Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.49]
Hello, I am github.com/dhardy, maintainer of rand, former dev of OpenMalaria epidemiology simulator, author of KAS GUI and Rust enthusiast since 2013. I may be interested in positions within Europe.
- KAS: GUI Toolkit in Rust
What are some alternatives?
cosmic-text - Pure Rust multi-line text handling
dungeon-crawler - A cross platform 3D dungeon crawler RPG.
gtk-fortran - A GTK / Fortran binding
wgpu_glyph - A fast text renderer for wgpu (https://github.com/gfx-rs/wgpu)
floem - A native Rust UI library with fine-grained reactivity
indiana-hash - Minimal cross-platform native GUI for hashing files
xilem - An experimental Rust native UI framework
SIMple-Mechanics - An educational physics sim for high school physics, part of the SIMple Physics project
blitz - High performance HTML and CSS renderer powered by WGPU
orbtk - The Rust UI-Toolkit.
Azul - Desktop GUI Framework
iced - A cross-platform GUI library for Rust, inspired by Elm