-
Notifications
You must be signed in to change notification settings - Fork 8
Home

Welcome to the wxRuby3 wiki!
wxRuby3 is a (mostly) native extension library for Ruby based on the mature wxWidgets GUI toolkit for C++ providing a framework to create cross-platform GUI applications with Ruby. It uses native widgets wherever possible to achieve GUI applications with the correct look, feel and behaviour on Windows, OSX and Linux.<br> wxRuby3 aims to provide a comprehensive solution to developing professional-standard desktop applications in Ruby.
Currently the following platforms are supported.
Platform | Ruby version(s) | wxWidgets version(s) |
---|---|---|
Windows 10 (tested)<br>(most likely also Windows 11) |
Ruby >= 2.5<br>(RubyInstaller MSYS2-DevKit) |
wxWidgets >= 3.2 |
Linux (tested; all major AMD64 and ARM64 distributions: Ubuntu, Debian, Fedora, OpenSuSE and ArchLinux)<br>(most likely also i686) |
Ruby >= 2.5 |
wxWidgets >= 3.2 |
MacOS >= 10.10 using Cocoa (tested on AMD64 and ARM64 M1/M2 Chip) |
Ruby >= 2.5 (MacPorts, Homebrew, ruby-install, RVM) |
wxWidgets >= 3.2 |
wxRuby3 is distributed as a Ruby gem on [RubyGems](https://rubygems.org) and can be installed with the command:
gem install wxruby3
This gem can also be downloaded from the release assets on [Github](https://github.com/mcorino/wxRuby3/releases) in which case installing the gem could be achieved with:
gem install /local/path/to/downloaded/gem
For more information concerning post-install procedures, prebuilt binaries and/or install options see the [INSTALL](https://github.com/mcorino/wxRuby3/blob/master/INSTALL.md) document.
wxRuby3 is very easy to use. The following code snippet for example
require 'wx'
Wx::App.run do
Wx::Frame.new(nil, title: 'Hello world!').show
end
would display the following rudimentary Ruby GUI applications on Windows, MacOSX and Linux (GTK):
[[assets/hello_world_combi.png]]
For all details concerning the various ins and outs of the wxRuby3 framework be sure to carefully read the [[User Guide|User-Guide-:-Introduction]].
Details concerning all available classes and methods can be found in the [Reference documentation](https://mcorino.github.io/wxRuby3).