swift-bridge
rui
swift-bridge | rui | |
---|---|---|
16 | 23 | |
698 | 1,652 | |
- | 1.0% | |
6.3 | 7.9 | |
8 days ago | 7 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
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.
swift-bridge
-
macOS Apps in Rust
A bit late, but `swift-bridge` (https://github.com/chinedufn/swift-bridge) does this intelligently, and is probably what you're looking for.
- swift-bridge 0.1.37 supports passing `Box<dyn FnOnce(A, B) -> C>` from Rust to Swift
-
Rust playground on iOS
4) Another route that I tried is to develop a simple terminal app using SwiftUI with a Xcode project to build that app + link against a Rust library compiled for iOS with the actual logic. I used swift-bridge for this and it works really well, to the point where I have a custom logger that you can simply use the print stuff to SwiftUI from Rust using the log crate. Once I have a bit more time, I will probably try figuring out how to clean this up a bit more.
-
Hey Rustaceans! Got a question? Ask here! (28/2022)!
Since Swift is your first target, I might recommend swift-bridge which can generate bindings for Rust async fns that Swift can call directly.
-
What's everyone working on this week (18/2022)?
I'm working on getting my GUI crate (https://github.com/audulus/rui) working on iOS (https://github.com/audulus/rui-ios). Multitouch will be fun. Shout out to the excellent work in swift-bridge: https://github.com/chinedufn/swift-bridge.
-
swift-bridge: type-safe interop between Swift and Rust
So that class SwiftString was actually unused. I've removed it here https://github.com/chinedufn/swift-bridge/pull/33 .
-
swift-bridge now supports calling async Rust functions from Swift
Here's an example of a Rust library that exposes an async function that uses reqwest to make an API call, and a main.swift that calls that async function.
-
Any good tutorials/examples on using a Rust library in Swift code for multiple targets?
Have you tried Swift Bridge? https://github.com/chinedufn/swift-bridge
- Swift-bridge: Call Rust from Swift and vice versa
rui
- Considerations for Power Draw with egui
-
Floem - yet another new Rust native UI library
Inspired by Xilem, Leptos and rui, Floem aims to be a high performance declarative UI library with minimal effort from the user.
-
Leveraging Rust and the GPU to render user interfaces at 120 FPS
My rui library can render UIs at 120fps, uses similar SDF techniques (though uses a single shader for all rendering): https://github.com/audulus/rui
Is their GPUI library open source?
-
Tauri Mobile – Develop Mobile Apps with JavaScript and Rust
I think the jury is still out on whether rust is good or bad for UI. Once rust UI libraries are more mature we'll get a sense of it. There are some advantages of static typing, even for UI (see SwiftUI for example). I'll grant the pickiness of rust can be a challenge. Anyway give us some time to work on stuff.
Here's my effort: https://github.com/audulus/rui
-
Rust GUI framework
rui
-
Do you think is it worth to learn gtk4 to use it with rust?
Depending on the scale of your project, I could suggest rui library which is cross platform though it's not related to gtk, https://github.com/audulus/rui, It's inspired by swiftUI
- Show HN: Async UI: A Rust UI Library Where Everything Is a Future
-
Vector Graphics on GPU
I've done a library for vector graphics on the GPU which works pretty well for my uses:
https://github.com/audulus/vger
and a rust version:
https://github.com/audulus/vger-rs
(which powers my rust GUI library: https://github.com/audulus/rui)
Here's the approach for rendering path fills. From the readme:
> The bezier path fill case is somewhat original. To avoid having to solve quadratic equations (which has numerical issues), the fragment function uses a sort-of reverse Loop-Blinn. To determine if a point is inside or outside, vger tests against the lines formed between the endpoints of each bezier curve, flipping inside/outside for each intersection with a +x ray from the point. Then vger tests the point against the area between the bezier segment and the line, flipping inside/outside again if inside. This avoids the pre-computation of Loop-Blinn, and the AA issues of Kokojima.
It works pretty well, and doesn't require as much preprocessing as the code in the article. Also doesn't require any GPU compute (though I do use GPU compute for some things). I think ultimately the approach in the article (essentially Piet-metal, aka tessellating and binning into tiles) will deliver better performance, and support more primitives, but at greater implementation complexity. I've tried the Piet-metal approach myself and it's tricky! I like the simpler Shadertoy/SDF inspired approach :)
-
Is it conveninent to make cross-platform GUI softwares using Rust now?
You should look into rui, https://github.com/audulus/rui It is an amazing ui Library for rust
-
Is there a common library for guis used in rust?
Try rui https://github.com/audulus/rui, It's a Swift Type ui
What are some alternatives?
swift - The Swift Programming Language
floem - A native Rust UI library with fine-grained reactivity
cxx - Safe interop between Rust and C++
dioxus - Fullstack GUI library for web, desktop, mobile, and more.
repo
slint - Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
rust - Empowering everyone to build reliable and efficient software.
Neothesia - Flashy Synthesia Like Software For Linux,Windows and MacOs
config-rs - ⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).
7GUI - the 7 gui project
log - Logging implementation for Rust
LearningWGPU - I will try to learn the basics of WGPU and Rust.