Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what are advantages and limitations of using mono project to run c# code on linux?

Tags:

c#

linux

mono

If anybody having the solution of advantages and limitations of using mono project to run C# Code on Linux, Please tell me your thoughts...

like image 627
Saravanan Avatar asked Feb 19 '11 04:02

Saravanan


People also ask

What does Mono runtime do?

The Mono runtime utilizes a just-in-time compiler (JIT) to translate bytecode into native machine code, maximizing application performance. Due to improvements made in the CIL design over Java bytecode, the Mono JIT is expected to match or exceed the speed of Java JITs.

What is the difference between .NET core and Mono?

NET is platform dependent, Mono allows developers to build Linux and cross- platform applications. Mono's . NET implementation is based on the ECMA standards for C#. This paper examines both of these programming environments with the goal of evaluating the performance characteristics of each.

What is Mono used for?

Mono is a software platform designed to allow developers to easily create cross platform applications part of the . NET Foundation. Sponsored by Microsoft, Mono is an open source implementation of Microsoft's . NET Framework based on the ECMA standards for C# and the Common Language Runtime.

Can Mono run .NET framework?

So, after all these years of its evolution, mono is capable of running many of original . NET Framework application types on operating systems other than Windows. This includes GUI-enabled desktop applications, which can now be made compatible with virtually any modern desktop operating system, including Solaris.


2 Answers

There's a huge advantage - it works. You can use C#, develop, and run on Linux (and other platforms, including Windows).

The disadvantage is that things don't always work the same way as they do in MS's .NET implementation, and there is some functionality that is not implemented at all, such as WPF.

like image 165
Reed Copsey Avatar answered Sep 20 '22 12:09

Reed Copsey


Advantages

  • Investment - when you choose right software you don't have to pay for software licences when running Mono on Linux (this doesn't mean that it's free - Linux is only free if your time has no value).
  • No vendor lock-in - you have more choices for other software on Linux (for example DB or Web servers) when compared to MS solutions which works best with other MS stuff.
  • Mono specific libraries (for example Mono.Simd or REPL).
  • Open source (you, or others, can fix bugs/provide patches/improve code by yourself).

Limitations

  • Incompatibility with MS.NET framework.
  • In general you will probably spent more time with certain things (for example dealing with incompatibility or learning Linux administration and such).
  • Mono is not up-to-date with new API and features for some time when new version of .NET framework is released.
like image 42
yojimbo87 Avatar answered Sep 22 '22 12:09

yojimbo87