[Mono-list] simple question about how mono works

jmalcolm malcolm.justin at gmail.com
Wed Aug 24 11:08:40 EDT 2011


asommer wrote:
> 
> The metter why I have ask this question is that couse I have not
> understand, what for is needed MonoDevelop in that case? 
> Probably it is needed for better compatibility? 
> Or to allow write Mono .Net programms on Linux?
> Couse when I write simple .Net programm in Windows - I can start it on
> Linux with Mono without any MonoDevelop compilation...
> 

This is a common misunderstanding but MonoDevelop and Mono are really
completely distinct. Programs written with MonoDevelop are no more or less
compatible with Mono than programs written using other tools.

MonoDevelop is just an Open Source project to build an Integrated
Development Environment for .NET (and Mono). In this way, it is simply a
competitor to Visual Studio.

You do not need Mono to use MonoDevelop. In fact, the Windows version of
MonoDevelop is built with .NET and does not require Mono at all. Mono does
not even have to be installed. On Windows, you can use MonoDevelop to target
either .NET or Mono. If you are using MonoDevelop to target .NET, it is
quite possible to write a program which will not run properly on Mono.

You do not need Mono to run programs written using MonoDevelop. If you use
MonoDevelop to write a Mono application on Linux, you can take it and run it
on a Windows machine that has never had Mono or MonoDevelop installed. Your
applications will run just fine on .NET from Microsoft.

So, MonoDevelop does not depend on Mono and Mono does not care that
applications were or were not written using MonoDevelop.

This is just the same as Visual Studio and .NET really. You can write an
application using Visual Studio on Windows and it will run fine on Mono.
Using Visual Studio does not tie your application to .NET and using
MonoDevelop does not tie your application to Mono.

Of course, Mono and .NET are different platforms and it is possible to write
code for one that will not execute on the other. So, I am simplifying a
little to get the point across.

On Linux and Mac, MonoDevelop will obviously be running on and targeting
Mono. Applications written on these platforms will obviously be Mono
compatible by default.

MonoDevelop has excellent support the GTK# GUI toolkit and so it is common
to write GTK# apps with MonoDevelop. To run these on Windows you will need
to install additional software on the Windows side. You have two choices:
install GTK# for .NET (which does not require Mono) or install the full Mono
distribution (which includes GTK#).

--
View this message in context: http://mono.1490590.n4.nabble.com/simple-question-about-how-mono-works-tp3762443p3765647.html
Sent from the Mono - General mailing list archive at Nabble.com.


More information about the Mono-list mailing list