vizia
swash
Our great sponsors
vizia | swash | |
---|---|---|
9 | 10 | |
1,368 | 550 | |
38.5% | - | |
9.4 | 6.4 | |
5 days ago | 14 days ago | |
Rust | Rust | |
MIT License | MIT or Apache 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
-
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
swash
-
Looking for this. html + css rendering through wgpu.
If you were to implement this yourself, i'd look into either swash or cosmic-text for the text rendering stack (this is one of the things you really don't want to write from the ground up). For accessibility, AccessKit has quickly become the standard for communicating with crossplatform accessibility APIs in rust GUI. lightningcss (or its lower level counterpart cssparser) are both decent options for CSS parsing. Taffy handles some of what browsers offer for a layout engine, but is still being worked on.
- Any suggestion for gpu text rendering?
- Cosmic Text: Pure Rust multi-line text handling
-
Bachelor idea to help the rust community
https://github.com/dfrg/swash which does text-shaping and could be built upon
-
I'm giving out microgrants to open source projects for the third year in a row! Brag about your projects here so I can see them, big or small!
swash - A shaping engine that advertises performance comparable to HarfBuzz, and surpassing it in some cases. Tests are in-progress.
-
Whats your favourite open source Rust project that needs more recognition?
swash: a pure Rust shaping engine like Harfbuzz with competitive performance.
- Text Rendering w/ HarfBuzz, FreeType and OpenGL
- swash: Complex text shaping and glyph rasterization in pure Rust
What are some alternatives?
rusttype - Mirror of https://gitlab.redox-os.org/redox-os/rusttype
fontdue - The fastest font renderer in the world, written in pure rust.
rustybuzz - A complete harfbuzz's shaping algorithm port to Rust
kiss3d - Keep it simple, stupid 3d graphics engine for Rust.
xilem - An experimental Rust native UI framework
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
floem - A native Rust UI library with fine-grained reactivity
ab-glyph - Rust API for loading, scaling, positioning and rasterizing OpenType font glyphs
cosmic-text - Pure Rust multi-line text handling
gfx - [maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
gtk-fortran - A GTK / Fortran binding
Azul - Desktop GUI Framework