Spiga

Mono; programación .NET en GNU/Linux

Para todos aquellos que nos dedicamos a programar en C# o usamos la plataforma .NET, gracias a al Proyecto Mono podemos hacerlo también en GNU/Linux

Proyecto Mono es un proyecto de código abierto iniciado por Miguel de Icaza (GNOME) en 2001 y que a día de hoy gracias a Novell, sigue con su desarrollo después de haber comprado Ximian (cliente de correo - Evolution) , la empresa responsable de su desarrollo hasta 2003.

Mono posee importantes componentes útiles para desarrollar software (wikipedia):

  • Una máquina virtual de lenguaje común de infraestructura (CLI) que contiene un cargador de clases, un compilador en tiempo de ejecución (JIT), y unas rutinas de recolección de memoria.
  • Una biblioteca de clases que puede funcionar en cualquier lenguaje que funcione en el CLR (Common Language Runtime).
  • Un compilador para el lenguaje C#, MonoBasic (la versión para mono de Visual Basic), Java y Python.
  • El CLR y el Sistema de tipos común (CTS) permite que la aplicación y las bibliotecas sean escritas en una amplia variedad de lenguajes diferentes que compilen para byte code
  • Esto significa que si, por ejemplo, se define una clase que realice una manipulación algebraica en C#, ésta pueda ser reutilizada en cualquier lenguaje compatible con CLI. Puede crear una clase en C#, una subclase en C++ e instanciar esa clase en un programa en Eiffel.
  • Un sistema de objetos único, sistema de hilos, bibliotecas de clases y sistema recolector de memoria pueden ser compartidos por todos estos lenguajes.
  • Es un proyecto independiente de la plataforma. Actualmente Mono funciona en GNU/Linux, FreeBSD, UNIX, Mac OS X, Solaris y plataformas Windows.
Gracias a esto, y a su gran abanico de posibilidades, podemos hacer correr aplicaciones .NET (C#, VB.NET), WinForms, ASP.NET y GTK#, en nuestro S.O. preferido.

En Ubuntu podemos instalarlo con un simple;

$ sudo aptitude install mono

En estas ultimas fechas Mono Project ha anunciado MonoTouch (Mono para iPhone), un MonoTouch.UIKit .NET, un constructor para Cocoa's UIKit. (DaKRnSiS esta contento!).

Enlaces de interés (Oficiales):
Enlaces varios: