wxRuby3 Desktop Development
A structured learning path for Ruby developers who want to build native desktop applications. No prior GUI experience needed — if you know Ruby and have worked with Rails, you have everything you need to start.
What this series covers
wxRuby3 is a Ruby binding for the mature wxWidgets C++ toolkit. It produces apps with native widgets — your app looks correct on macOS, Windows, and Linux without any extra effort. It is the best option for Ruby developers who want to build real desktop software without leaving the language they know.
This series takes you from your first window to three complete, usable applications: a route planner with map integration, a GPS track viewer, and an image gallery manager. Along the way you will learn the thinking patterns that separate desktop development from web development, and pick up the wxRuby3 API in enough depth to build anything you need.
Who this is for
Ruby developers who:
- Are comfortable with Ruby classes, blocks, and modules
- Have some Rails or Sinatra experience (helpful, not required)
- Have not done much or any desktop GUI development
- Want to build internal tools, personal utilities, or standalone applications
What you will build
By the end of this series you will have built and fully understood:
- A live Markdown editor with split-pane preview
- A map viewer with Leaflet.js embedded in a native window
- A route planner with GeoJSON export
- A GPS track viewer with date/time filtering
- An image gallery manager with auto-layout
Series structure
| Module | Topic | Lessons |
|---|---|---|
| 1 | The Desktop Mindset | 4 |
| 2 | Building Blocks | 6 |
| 3 | Patterns and Architecture | 6 |
| 4 | Rich Output | 4 |
| 5 | WebView and the JS Bridge | 6 |
| 6 | Real Applications | 7 |
| 7 | Distribution | 2 |
Prerequisites
|
|
All samples in this series require wxruby3 1.8.0 or later, which includes the WebView module used in Modules 5 and 6.