extensible-effects VS imgui

Compare extensible-effects vs imgui and see what are their differences.

extensible-effects

Extensible Effects: An Alternative to Monad Transformers (by suhailshergill)

imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies (by ocornut)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Access the most powerful time series database as a service
  • ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
extensible-effects imgui
1 324
174 47,837
- -
0.0 7.2
over 2 years ago 2 days ago
Haskell C++
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

extensible-effects

Posts with mentions or reviews of extensible-effects. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-06-27.

imgui

Posts with mentions or reviews of imgui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-25.
  • Ask HN: Examples of desktop software with 20+ years of longevity?
    4 projects | news.ycombinator.com | 25 May 2023
    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.

    4 projects | news.ycombinator.com | 25 May 2023
    > 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.

  • Recommendations on how to start a small Vulkan project
    6 projects | reddit.com/r/vulkan | 16 May 2023
    One thing I'd do, is at minimum is set up a base project that meets your minimum requirements, say presenting to the screen, drawing and compute shaders. Once that's done, follow through ImGUI for a good graphics based window framework and do something neat with that.
  • Troubles with ImGui lua binding
    2 projects | reddit.com/r/lua | 16 May 2023
    Need more context. Post your main loop: in https://github.com/ocornut/imgui/blob/master/examples/example_win32_directx12/main.cpp
  • Digital Audio Workstation Front End Development Struggles
    16 projects | news.ycombinator.com | 15 May 2023
    https://github.com/ocornut/imgui/issues/5886

    (And keep in mind that many of those are week-end / hobby projects, by people who prefer to focus on other things than the GUI of their projects.)

    16 projects | news.ycombinator.com | 15 May 2023
    The people who actually make immediate mode GUIs disagree with you. https://github.com/ocornut/imgui/wiki/About-the-IMGUI-paradi...
  • Widely-used graphics library
    4 projects | reddit.com/r/cpp_questions | 5 May 2023
    If you want a strict C++ equivalent to SDL the clear answer is SFML. If you just want to visualize 2D/3D data there's matplot++. If you want something slightly higher-level than SDL/SFML (with pre-made UI widgets and such) there's imGUI. If you need an all-in-one GUI solution for desktop or mobile apps there's Qt.
  • My Rust program (Well, game) is leaking memory, 4MB/s.
    9 projects | reddit.com/r/rust | 30 Apr 2023
    When you create a window in ImGui, it allocates memory but never releases it, so make sure that you are not creating windows with a different name at each frame. This issue may be related: https://github.com/ocornut/imgui/issues/2636
  • Current Issues with the Qt Project – From the Outside Looking In
    6 projects | news.ycombinator.com | 21 Apr 2023
    True, some modules are under the GPL only. Here[0] is a very nice website showing an overview.

    As for alternatives there really is not much to choose from. For small projects which are not reliant on the performance/native designs of Qt Dear ImGui looks nice[1]. But it is very much tailored for a different Use Case.

    [0] https://www.qt.io/product/features

    [1] https://github.com/ocornut/imgui

  • [Beginner] Blending behaves strangely
    2 projects | reddit.com/r/vulkan | 15 Apr 2023
    I basically took the official ImGUI Vulkan backend and translated it to its equivalent in my engine.

What are some alternatives?

When comparing extensible-effects and imgui you can also consider the following projects:

nuklear - A single-header ANSI C immediate mode cross-platform GUI library

NanoGUI - Minimalistic GUI library for OpenGL

wxWidgets - Cross-Platform C++ GUI Library

GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk

CEGUI

FLTK - FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development

egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

nana - a modern C++ GUI library

nuklear

webview - Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows)

raylib - A simple and easy-to-use library to enjoy videogames programming

WPF - WPF is a .NET Core UI framework for building Windows desktop applications.