imgui
egui
Our great sponsors
- SonarCloud - Analyze your C and C++ projects with just one click.
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Mergify - Updating dependencies is time-consuming.
imgui | egui | |
---|---|---|
334 | 193 | |
50,398 | 16,481 | |
- | - | |
0.0 | 7.8 | |
5 days ago | 5 days ago | |
C++ | 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.
imgui
-
Textual Web: TUIs for the Web
> [...] you can build UIs that are snappy and keyboard driven.
That's not an advantage that is exclusive to TUIs; after all, you're running your TUI inside a graphical application that emulates a terminal. (Unless you're rocking an actual VT102, in which case I bow down to you.)
In fact there's an entire class of applications that are extremely snappy and keyboard driven, by their very nature: games.
Some people have taken to writing GUI apps like you'd write a game, and the effects range from OK to fantastic. Check out Lagrange (https://gmi.skyjake.fi/lagrange/), AppManager (https://tildegit.org/solene/AppManager), Dear ImGUI (https://github.com/ocornut/imgui), egui (https://github.com/emilk/egui), and many others.
-
Chip8 emulator
It's not that difficult, I recently started learning to use graphics APIs myself. OpenGL is for linux, etc., directx for windows and vulkan for all platforms. I read through a bunch of forums yesterday and decided to go for vulkan (here is a link to the sdk) for my next small projects because it can run on all platforms. I would recommend to watch a basic tutorial series (like this one) for the graphics api itself to get an understanding of whats going on. And on top of that I use SDL2 for eventhandling and ImGui for the graphical user interface. Here is a link to a guide for setting up vulkan on your platform in case you would go for it.
-
Make a game engine in C++
UI ImgUI can be used in with SDL and SFML
-
Meta releases open source Intermediate Graphics Library which runs on top of Vulkan, Open GL, or Metal on multiple operating systems.
Even the GUI is not theirs, but it's not credited. It's Dear ImGui.
-
Good gui libraries for simple note taking app with sqlite database?
There's Dear ImGui
-
declarative GUI libraries
I think that Imgui would qualify as declarative. It is pretty much the industry standard for "simple GUI" at this point. It might be simple but it is powerful. People have built entire game engine editors using it.
-
Why do you love C++?
When it comes to writing GUIs, I'm a big fan of Dear Imgui. It's not going to be the best tool for every job, but it's fairly easy to work with and it doesn't go about overcomplicating things.
-
“fractureiser” malware in many popular Minecraft mods and modpacks
Also here, what appeared to be a bug in ImGuis clipboard handling turned out to be a crypto stealer
-
Ask HN: Examples of desktop software with 20+ years of longevity?
I would say that the distinction between TUI and GUI - outside "how would I use this tool remotely" - is mainly one for the developer. Take ImGui (https://github.com/ocornut/imgui, an immediate mode GUI library) for example - the examples are much closer to TUI interfaces than a Swift UI app - the only difference between that an a terminal UI would be that the lines are thinner and that text has non-uniform spacing.
Does that make ImGui a TUI? Or make TUIs a GUI? Why are those thin visual lines graphical, if the slightly thicker visual lines drawn by your graphical terminal emulator with support arbitrary color precision and inline image rendition is not?
Maybe the issue is that it there is a terminal emulator to visualize the representation. But if an application that is not graphically heavy and needs an intermediary is a TUI, does that make most utility electron apps TUIs?
The difference between a TUI and a GUI is just an implementation detail, and these do not matter in the distinction of desktop app or not. Heck, some modern terminal UIs are more graphically appealing than some GUI apps.
> The established definition of desktop, mobile, gui, tui and commandline is pretty consistent for some decades now I would say.
Considering that all good desktop apps were TUI apps 3 decades ago, that mobile apps are in their modern form has basically only existed for 1.5 decades, and that running mobile apps as desktop apps and the general merge between the disciplines is only a few years old at most, I'd say that this statement doesn't quite hold.
> Take ImGui (https://github.com/ocornut/imgui, an immediate mode GUI library) for example - the examples are much closer to TUI interfaces than a Swift UI app - the only difference between that an a terminal UI would be that the lines are thinner and that text has non-uniform spacing.
What I see there is a spatial interface with complex layout, z-axis and graphical elements. A bit hard to replicate on a normal terminal.
> Does that make ImGui a TUI?
TUI and GUI are not defined by the actual complexity of a real application, but the environment which gives them theoretical abilities. With a GUI, you can have pixel-perfect control over every element. With a TUI, you are normally limited to character-level of control. Of course can you also use pixels without a desktop, but you would still leave the terminal-environment and enter the framebuffer for this or something similar. Though, to be fair, at this point it indeed can become a bit fuzzy.
egui
-
Textual Web: TUIs for the Web
> [...] you can build UIs that are snappy and keyboard driven.
That's not an advantage that is exclusive to TUIs; after all, you're running your TUI inside a graphical application that emulates a terminal. (Unless you're rocking an actual VT102, in which case I bow down to you.)
In fact there's an entire class of applications that are extremely snappy and keyboard driven, by their very nature: games.
Some people have taken to writing GUI apps like you'd write a game, and the effects range from OK to fantastic. Check out Lagrange (https://gmi.skyjake.fi/lagrange/), AppManager (https://tildegit.org/solene/AppManager), Dear ImGUI (https://github.com/ocornut/imgui), egui (https://github.com/emilk/egui), and many others.
-
My Journey Away from the JAMstack
Honestly, frontend development especially with all these crowded frameworks and libraries always confused me so pardon my ignorance, which is why in a project I’m working on right now I’m trying not to use js, instead I’m using egui [1]
Zola is a static site generator and it’s crazy fast, using one binary only [2], also there’s Blades [3], same concept but supposedly faster, never tried it though.
-
Festival v1.0.0 - A music player
egui for a GUI library that makes me cry when I want to layout something simple but provides very powerful manual control over things
- Announcing egui 0.22
-
Looking for lib recommendations for developing ui tool
An example of an immediate mode gui library would be egui: https://github.com/emilk/egui
- [media] Process tree GUI written in Rust!
-
Porting a local app to Web
Hello! So I have a local app that I am currently running on desktop (windows). I'm using egui for the UI, and the program basically opens a folder, gets all the images in the folder, and then uses the image-rs library to resize and create a grid of images / some other operations.
-
My Rust program (Well, game) is leaking memory, 4MB/s.
Are you aware of egui?
-
Emerging Rust GUI libraries in a WASM world
I have no beef with deferred mode GUIs except that I have yet to see one with the performance characteristics I need.
For what it's worth, egui does have an accessibility layer. I haven't gone to any particular effort to wire it up yet (besides what you get by default): https://github.com/emilk/egui/issues/167
-
What application will make Rust its prime ?
Rust can be used to make cross-platform GUI applications with [eGUI[(https://github.com/emilk/egui) and more; literally web frontend or desktop. They look amazing and are high performant too.
What are some alternatives?
wxWidgets - Cross-Platform C++ GUI Library
nuklear - A single-header ANSI C immediate mode cross-platform GUI library
NanoGUI - Minimalistic GUI library for OpenGL
iced - A cross-platform GUI library for Rust, inspired by Elm
GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk
CEGUI
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
FLTK - FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development
nana - a modern C++ GUI library
nuklear
webview - Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).
druid - A data-first Rust-native UI design toolkit.