Although what Carlo has said above is enough for a C# developer to port their applications in Ubuntu (
or any platform since Mono is cross-platform), but I am not going to support that method of programming a Ubuntu application.
Ubuntu applications can be developed right in Ubuntu machines, like Windows, by installing
Ubuntu SDK[
^]. The SDK holds everything that you need:
1. A full featured IDE.
- Qt creator is provided for IDE purpose, with text-editing, design-mode editing and source control features.
2. Debugger for debugging purposes.
3. Compilers, for C and C++ languages.
4. UI editing using QML. A markup language for Qt programs.
5. JavaScript based client-scripting.
- Allows you to send async requests for data, populate data and perform other tasks all with your knowledge of vanilla JavaScript.
This is my recommendation for creating a Ubuntu desktop application. It doesn't take much time, for me installing the SDK took only 20 minutes and to get started creating an app took just an hour. QML is a very easy language.
Comparing WPF and Ubuntu Desktop Apps would be like this:
1. In WPF UI is developed using XAML, in Ubuntu it is QML. Both are markup languages. You can bind data, trigger functions etc.
2. Back-end in WPF is handled using C#, where as in Ubuntu apps back-end is handled using C++ (or C); thus giving you additional performance factor.
3. Design mode provided in both cases. You can design your UI in design editor; Visual Studio may have more features, but c'mon it is Ubuntu.
4. One-step compilation provided in both cases.
F5 for WPF,
CTRL +
R in Ubuntu.
5. Source control on both versions, TFS for WPF and Bazaar and other Git based services in Ubuntu.
Long story short, I won't recommend using Mono for Ubuntu. Always consider using C++ and Ubuntu SDK. They are meant to be used there, you will get yourself working very easily in a matter of week or two. :-)
I am also going to write an article for Ubuntu app development in Ubuntu SDK soon, I hope this answer suffice your needs, if it doesn't... Wait for the big gun!