GUI, Games and Graphics

45.1 GUI

Declarative GTK 4 / libadwaita libui-ng native widgets Cross-platform native-ish (GTK/Win32) NimQML, seaqt fidget / fidget2 Figma-driven UI with OpenGL Cross-platform GUI/game framework imgui bindings (nimgl/imgui) Immediate-mode tools UIs

Webview (webui, webview bindings), Electron with the JS backend

45.2 Game Development

naylib (raylib wrapper, well maintained), nimgl (GLFW/OpenGL/Vulkan), sdl2/sdl3 bindings, nico (fantasy console style), godot-nim / gdext-nim (Godot bindings), Nim + WASM for web games.

import raylib
initWindow(800, 450, "naylib example")
setTargetFPS(60)
while not windowShouldClose():
  beginDrawing()
  clearBackground(RayWhite)
  drawText("Hello from Nim!", 190, 200, 20, DarkGray)
  endDrawing()
closeWindow()

45.3 2D/3D Graphics and Media

pixie (2D vector graphics, text, image I/O), boxy (GPU 2D), windy (windowing), vmath/chroma (math and colors), flatty, stb_image wrappers, OpenGL/Vulkan via nimgl, audio via slappy/miniaudio wrappers.