Cross-platform GUI framework in Nim.
nimble install nimx
# File: main.nim
import nimx.window
import nimx.text_field
proc startApp() =
# First create a window. Window is the root of view hierarchy.
var wnd = newWindow(newRect(40, 40, 800, 600))
# Create a static text field and add it to view hierarchy
let label = newLabel(newRect(20, 20, 150, 20))
label.text = "Hello, world!"
wnd.addSubview(label)
# Run the app
runApplication:
startApp()
nim c -r --threads:on main.nim
Nimx officially supports Linux, MacOS, Windows, Android, iOS, Javascript (with Nim JS backend) and Asm.js (with Nim C backend and Emscripten).
Nimx is tested only against the latest devel version of Nim compiler. Before reporting any issues please verify that your Nim is as fresh as possible.
cd $(nimble path nimx | tail -n 1)/test
nake # Build and run on the current platform
# or
nake js # Build and run in default web browser
See the docs for more information.