DesktopRails is an open source framework for desktop applications development on the .Net and Mono frameworks. DesktopRails is written in C# and Python, and works on Linux and Windows. It is intended to be used with MonoDevelop and Visual Studio but you can use the framework even writing your code with vim, emacs, notepad, kate, gedit or any other text editor.
The target is to provide a Model-View-Controller architecture for your applications and a bunch of helpers to keep you code clean, easy to write and maintain. Don't repeat yourself (DRY) is the main philosophy of DesktopRails.
The other target is to allow Test Drive Development (TDD) on your applications. As the framework enforces separation of concerns, the business logic gets separated from the User Interface, and that gives you the conditions to test drive, that is, you can write code to test your application automatically. The framework gives you the chance to write unit tests that are also a kind of acceptance test, as you're actually testing parts of your business logic, not only methods and classes.
On the other hand, you can write Windows native applications (using Windows.Forms) and then run them on Linux, or also make them Linux native (using Gtk#) with very little effort. WPF is also supported.
DesktopRails is a fork of the Boxerp project.