RuGUI is a framework which aims to help building desktop applications. RuGUI was mostly inspired by the Ruby on Rails framework, taking most of its features from it.

RuGUI approach is to provide a MVC design for the application, separating business logic from application presentation, making it easy to maintain and evolve the application.

Also, a Observer/Observable pattern is implemented so that you can define observable properties in your model which are observed by controllers that should react to changes in the model. This makes the application code even more clean when dealing with applications that have multiple data entry points. For example, when receiving data from a network one may update a value in a model, and the controller will update all needed widgets (progress bars, labels, status bar, etc).

The initial framework was based on the great Ruby/GTK API, but RuGUI has evolved so that you may use other GUI frameworks with it. Since version 1.1.x it has placed all functionality specific for GTK wrapped in a framework adapter. This has made it possible to write a QT adapter and now it is possible to use all of the RuGUI features together with QT. As the framework evolve other framework adapters may be written, enabling the use of RuGUI with any other GUI frameworks.

Current version is 1.3.2