Native desktop apps in Crystal
UIng is a Crystal binding for libui-ng. Build small, cross-platform interfaces with the native controls of Linux, macOS, and Windows.
One API, native controls
UIng uses the platform's native GUI toolkit: GTK on Linux, AppKit on macOS, and Win32 on Windows. Use the regular object-oriented API or the optional block-based DSL; both create the same controls.
require "uing"
UIng.init
window = UIng::Window.new("Hello World", 300, 200)
window.on_closing do
UIng.quit
true
end
window.child = UIng::Label.new("Hello from UIng")
window.show
UIng.main
UIng.uninit