nuklear VS imgui

Compare nuklear vs imgui and see what are their differences.

nuklear

A single-header ANSI C immediate mode cross-platform GUI library (by Immediate-Mode-UI)

imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies (by ocornut)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
nuklear imgui
61 351
8,495 55,381
2.2% -
8.3 9.7
6 days ago 11 days ago
C C++
- 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.

nuklear

Posts with mentions or reviews of nuklear. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-07.

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 2024-04-06.
  • Using raylib with Dear ImGui: Game Dev Debugging UI
    5 projects | dev.to | 6 Apr 2024
    include(cmake/CPM.cmake) function(raylib_imgui_setup_dependencies) message(STATUS "Include Dear ImGui") FetchContent_Declare( ImGui GIT_REPOSITORY https://github.com/ocornut/imgui GIT_TAG 277ae93c41314ba5f4c7444f37c4319cdf07e8cf) # v1.90.4 FetchContent_MakeAvailable(ImGui) FetchContent_GetProperties(ImGui SOURCE_DIR IMGUI_DIR) add_library( imgui STATIC ${imgui_SOURCE_DIR}/imgui.cpp ${imgui_SOURCE_DIR}/imgui_draw.cpp ${imgui_SOURCE_DIR}/imgui_widgets.cpp ${imgui_SOURCE_DIR}/imgui_tables.cpp) target_include_directories(imgui INTERFACE ${imgui_SOURCE_DIR}) include(cmake/CPM.cmake) message(STATUS "Include dbg-macro") cpmaddpackage( "gh:sharkdp/dbg-macro#fb9976f410f8b29105818b20278cd0be0e853fe8" )# v0.5.1 message(STATUS "Include fmtlib") cpmaddpackage("gh:fmtlib/fmt#e69e5f977d458f2650bb346dadf2ad30c5320281" )# 10.x message(STATUS "Include raylib") cpmaddpackage("gh:raysan5/raylib#ae50bfa2cc569c0f8d5bc4315d39db64005b1b0" )# v5.0 message(STATUS "Include spdlog") cpmaddpackage("gh:gabime/spdlog#7c02e204c92545f869e2f04edaab1f19fe8b19fd" )# v1.13.0 message(STATUS "Include rlImGui") FetchContent_Declare( rlImGui GIT_REPOSITORY https://github.com/raylib-extras/rlImGui GIT_TAG d765c1ef3d37cf939f88aaa272a59a2713d654c9) FetchContent_MakeAvailable(rlImGui) FetchContent_GetProperties(rlImGui SOURCE_DIR RLIMGUI_DIR) add_library(rlimgui STATIC ${rlimgui_SOURCE_DIR}/rlImgui.cpp) target_link_libraries(rlimgui PRIVATE imgui raylib) target_include_directories(rlimgui INTERFACE ${rlimgui_SOURCE_DIR}) endfunction()
  • Ask HN: Fastest cross-platform GUI stack/strategy
    3 projects | news.ycombinator.com | 18 Mar 2024
  • Immediate Mode GUI Programming
    15 projects | news.ycombinator.com | 15 Jan 2024
    Immediate mode is a fuzzy concept, as witnessed by this writeup: https://github.com/ocornut/imgui/wiki/About-the-IMGUI-paradi...
    15 projects | news.ycombinator.com | 15 Jan 2024
    The Dear ImGui readme is a good starting point:

    https://github.com/ocornut/imgui

    ...now of course Dear ImGui is a specific implementation of an immediate mode UI framework, but it's also the most popular implementation.

  • Nebula is an open-source and free-to-use modern C++ game engine
    6 projects | news.ycombinator.com | 9 Jan 2024
  • Dear ImGui: Bloat-free Graphical User interface with minimal dependencies
    10 projects | news.ycombinator.com | 20 Dec 2023
    From the faq https://github.com/ocornut/imgui/blob/master/docs/FAQ.md#q-w...

    Q. What is this library called?

    This library is called Dear ImGui. Please refer to it as Dear ImGui (not ImGui, not IMGUI).

    (The library misleadingly started its life in 2014 as "ImGui" due to the fact that I didn't give it a proper name when I released 1.0, and had no particular expectation that it would take off. However, the term IMGUI (immediate-mode graphical user interface) was coined before and is being used in variety of other situations e.g. Unity uses it own implementation of the IMGUI paradigm. To reduce the ambiguity without affecting existing code bases, I have decided in December 2015 a fully qualified name "Dear ImGui" for this library.

    10 projects | news.ycombinator.com | 20 Dec 2023
    ImGui is engine/GPU agnostic

    Themeing isn't a just a retained mode thing, you can do wonders with immediate UIs, even thought (dear)ImGui doesn't provide much, you can still do wonders: https://github.com/ocornut/imgui/issues/707#issuecomment-362...

    More on that topic: https://www.youtube.com/watch?v=Z1qyvQsjK5Y

    10 projects | news.ycombinator.com | 20 Dec 2023
    My first guess would be it is supposed to sound like "Dear Imogen". However, it wasn't initially conceived of as a reference to anything. The "Dear" was tacked on to qualify the name [1].

    [1] https://github.com/ocornut/imgui/blob/master/docs/FAQ.md#q-w...

    10 projects | news.ycombinator.com | 20 Dec 2023
  • Where do I start to learn C++ for a game development
    2 projects | /r/gamedev | 10 Dec 2023
    Bonus: If you want to make desktop app with UI, then this is another great C++ library and it's also simple to learn as well. https://github.com/ocornut/imgui.

What are some alternatives?

When comparing nuklear and imgui you can also consider the following projects:

wxWidgets - Cross-Platform C++ GUI Library

NanoGUI - Minimalistic GUI library for OpenGL

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

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

CEGUI

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).

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.

lvgl - Embedded graphics library to create beautiful UIs for any MCU, MPU and display type.