2 ms·
I've also played around with the Rust version egui, and with the eframe template it's super easy to bang out super quick GUI tools on github pages (for example,
by kelvie 3y ago
I've also played around with the Rust version egui, and with the eframe template it's super easy to bang out super quick GUI tools on github pages (for example, I made a basic guitar fretboard chord finder [1] to help me learn guitar in a few hours, plus a few more hours refining it)
The mental model of immediate mode guis makes it really easy to work on it as a side project with 10-20 minutes here or there before bed, though doing proper layout to make it look nice is sometimes a challenge. The other advantage is that I can just jump into the implementation, and the egui code itself is pretty easy to grok.
[1] https://kelvie.github.io/chord-finder https://kelvie.github.io/chord-finder
- kelvie 3y agoOne thing I will add is that this paradigm really encourages either making a ton of functions (which IMO makes code flow harder to read for these kinds of low-effort projects), or having a lot of scoped statements. A good addition would be something like how flutter's LSP-based tools, which I use in Emacs), have a "wrap with widget" auto-refactoring tool, for e.g. when you want to wrap an entire widget tree in a new layout without having to do it manually.
- cristeigabriel 3y agoEgui is not the "Rust version" of ImGui. There's libraries which allow for ImGui in other languages by applying the hourglass pattern first (making a C api for the C++ api), to allow for the creation of bindings, since most languages support C FFI, and then somebody writes an API in the target language which calls to (and maybe extends) the C api.
- buildartefact 3y agoegui is pure rust. It is not a rust binding of ImGUI
- cristeigabriel 3y agoI am aware. I am asserting the distinction there.