racket-gui-easy
rui
racket-gui-easy | rui | |
---|---|---|
8 | 23 | |
129 | 1,660 | |
- | 1.5% | |
7.8 | 7.7 | |
2 months ago | 14 days ago | |
Racket | Rust | |
- | 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.
racket-gui-easy
- Racket Language
-
Racket: The Lisp for the Modern Day
Looks like you're already in Emacs. I strongly recommend racket-mode as mentioned in another thread.
With regard to prototyping GUI's I'd suggest taking a look at https://github.com/mfelleisen/7GUI. https://github.com/Bogdanp/racket-gui-easy could also be a good place to start.
With regard to Racket more generally, I'm probably not the best person to ask since I had a very high friction start where I just banged my head against the wall until things made sense.
-
Humble Chronicles: Managing State with Signals
I took a similar approach in my Racket library, gui-easy[1,2]. Though I opted to not defer any computations, any observable (similar to a signal from the post) update propagates to observers immediately, and there's no incrementality -- observables are just boxes whose changes you can subscribe to. Regarding the disposal problem, I used weak references and regarding the where to take observables and where to take concrete values as input question, I decided that any place an observable can go in, a concrete value can as well and it's been a convenient choice so far. For fun, here's an example[3] that builds the todo UI from the post.
[1]: https://docs.racket-lang.org/gui-easy/index.html
-
If you were hired to create a new distribution of Lisp, what would you include?
For native apps, I would devote coding resources to the Guile-GI project which generates Guile bindings to the cross-platform Gtk C library by way of the Gnome Object Introspection and Reflection library. I would also port the Racket gui-easy library over to Guile-GI so declarative GUIs could be written.
-
What programming language is good to make GUI's
There is also gui-easy a declarative gui framework: https://docs.racket-lang.org/gui-easy/index.html
-
7GUIs
Itβs not the only version either
See https://github.com/Bogdanp/racket-gui-easy/tree/master/examp...
},
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?
bang.html - π Good.HTML. A nice framework without the bad stuff. Lots of custom elements, and nice templates. Good. HTML [Moved to: https://github.com/crisdosyago/good.html]
floem - A native Rust UI library with fine-grained reactivity
7guis - 7GUIs is a GUI programming usability benchmark.
dioxus - Fullstack GUI library for web, desktop, mobile, and more.
bgjs
slint - Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
fidgetty - Widget library built on Fidget written in pure Nim and OpenGL rendered
Neothesia - Flashy Synthesia Like Software For Linux,Windows and MacOs
CIEL - CIEL Is an Extended Lisp. Scripting with batteries included.
7GUI - the 7 gui project
LearningWGPU - I will try to learn the basics of WGPU and Rust.