Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

at college we use Microsoft .NET for developing applications. I recently switched to Ubuntu and would like to know similar tools for making apps on/for ubuntu.

share|improve this question
I would like to strongly urge you to consider learning another language like Python or C / C++. A large number (in fact, probably the majority) of applications in the repository are written in those languages. – Nathan Osman Jul 31 '10 at 5:50
Although it'll be pretty easy to pick up another language it's certainly not necessary or particularly desirable (other than exposure to other programming styles). – RAOF Aug 2 '10 at 0:49
If you want to use Linux day-to-day but want to develop C# without the compatibility issues of Mono, consider having a Windows virtual machine in VirtualBox. – Mark K Cowan Dec 5 '15 at 0:29
up vote 29 down vote accepted

You can program in .NET on ubuntu too. Well, sort of. There is an open source implementation of the .NET platform available called MONO. MONO apps can run on Ubuntu/Linux, Windows and Mac OS. Look for MonoDevelop in Ubuntu Software Center. Learn more about Mono in Ubuntu.

Another option is Quickly. In my opinion Quickly is better for Ubuntu centric app development. You can code you app and release it to a PPA (launchpad-repository) in minutes. Quickly is also available from Ubuntu Software Center. Get started writing apps with Quickly.

share|improve this answer
+1 for answering the question. (Personally I hate mono, but oh well.) – Nathan Osman Jul 31 '10 at 5:48
your link points to the Quickly URL – McDowell Jul 31 '10 at 12:31
You can use the CLI (.NET) languages and standard libraries just fine - the versions of mono in recent Ubuntu releases support C# 3.0 and (most of) .NET 3.5. You'll want to learn the GTK# UI library, though. System.Winforms & WPF applications will not look native, and WPF is also not fully implemented. – RAOF Aug 2 '10 at 0:52
You'll want to pick up the MonoDevelop IDE. Aside from GUI development (*nix uses GTK# for drag-drop vs Winforms/WPF on windows) development in Ubuntu isn't a whole lot different than development in windows. – Evan Plaice Sep 16 '10 at 23:50
@Owais Lone - The links provided in answer are not working please try to renew them or add a substitute – Creator Apr 23 '15 at 15:24

Quickly can help you make cool apps using Python (pretty easy to learn and very popular) quickly!

share|improve this answer
+1 for suggesting Python/Quickly. I am a professional Python programmer, and I use Ubuntu on my computer. Ubuntu (and Linux in general) is great for doing Python development. – codeape Aug 4 '10 at 20:37

The Vala language is a programming language very similar to C#. It is still very young, but already has a lot of bindings to existing libraries (for example, GTK). It compiles to native binaries, so your users don't need an additional runtime, as they would for .NET.

See an introduction to Vala for C# programmers.

share|improve this answer
it you are targeting ubuntu then mono is preinstalled installed and so requires no additional runtime. – trampster Sep 6 '10 at 0:54
It looks like that link to Vala for C# doesn't work. Try this one instead, There's also one for Java programmers, – Mark B Sep 27 '10 at 20:25
thanks Mark, seems like they have restructured their wiki, I corrected the link in the Answer. – thbusch Jan 6 '11 at 15:23

I see no reason for all these suggestions that you switch application platforms/languages. Use what you're used to and you'll be more productive than having to spend time learning another language.

Monodevelop will give you a better experience of Mono development - its no Visual Studio, but its the best integrated IDE for mono you're gonna get on Ubuntu. Visual design of GTK forms and their controls is a big win (think Winforms but Linux style).

share|improve this answer

There are all sorts of tools available on Linux which allow you to create rich desktop applications. Bowline is an mvc framework which allows you to create desktop applications in ruby. Shoes is another framework which allows you to create desktop apps in ruby, and it is by far the easiest desktop app framework.

share|improve this answer

Start learning QT. It's a framework based on C++. It's cross platform and also works fine in windows. Even it has an add in for Visual Studio. It's usually used for KDE platform. For GNOME, you can learn GTK#.

From Wikipedia,

In place of the Qt toolkit, GTK+ was chosen as the base of the GNOME desktop.

share|improve this answer
Qt works on GNOME – dv3500ea Apr 17 '11 at 11:07
@dv3500ea: You didn't get it. QT is used to develop KDE applications, that doesn't mean that applications built by QT won't run on GNOME. The same way GTK applications will run on KDE. But you can't use GTK to build KDE applications – user Apr 17 '11 at 11:11
It's not 'only for KDE platform' though. – dv3500ea Apr 17 '11 at 12:30
QT is not used to build KDE apps. QT is used to build GUIs. KDE uses QT to build it's apps. QT can be used to build GTK apps too. – Owais Lone Apr 17 '11 at 13:11
I think i am totally lost here. Marked as community wiki. Thanks for your support and patience. – user Apr 17 '11 at 16:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.