Mono: Solución libre para .NET

Mono es la implementación libre y abierta de la tecnología .NET de Microsoft, capaz de funcionar en los sistemas operativos de Linux, Mac OS X, Sun Solaris, BSD (OpenBSD, FreeBSD, NetBSD) y Microsoft Windows.

Como ya sabéis Microsoft dio a conocer su tecnología .NET a finales del 2000 para hacer frente al avance o “éxito” de Java de Sun. En ese momento fue cuando Miguel de Icaza (Co-fundador de la empresa Ximian, fundador y presidente de la GNOME Foundation y actualmente Vicepresidente de Desarrollo en Novell) teniendo acceso a la información de la tecnología .NET vio una forma de solucionar la problemática existente en GNOME.

Como él mismo dijo… “su pasión es el desktop, y Linux ya no puede ser más un sistema escrito por programadores para programadores, sino que tiene que ser apto para cualquier usuario”.  Gracias a la tecnología .NET el proyecto GNOME consigue lo que siempre había buscado, independencia del lenguaje para programar en dicho desktop. Por este motivo surgió el proyecto Mono y así conseguir que GNOME, en un futuro, sea un desktop mejor y más atractivo tanto para los usuarios como para los programadores.

Actualmente, Mono es la solución madura para desarrollar con la tecnología .Net en todos los sistemas operativos, aunque para Windows le queda mucho por recorrer. Para que os hagáis una idea, se están rematando los últimos detalles de la versión de Mono 2.0 que implementa el Framework 2.0 mientras que Microsoft ya ha lanzado la versión 3.5 del Framework. Lo que imposibilita que las aplicaciones desarrolladas con las versiones superiores no pueden migrarse completamente a Mono.

Y es que una de las virtudes de Mono, es la posibilidad de ejecutar aplicaciones desarrolladas con Visual Studio sin tener que modificar ni una línea de código y viceversa, claro está con alguna limitación. Al parecer todas las aplicaciones migrables de Windows a Linux son aquellas que sólo utilizan el API definido dentro del namespace System y que no usan P/Invoke. Aunque no lo he mencionado, estas aplicaciones también funcionarían en HP-UX, Solaris, MacOS X, entre otros; ya que la aplicación utiliza un Entorno de Ejecución para poder funcionar, que está disponible en la pagina Web de Mono.

Como no siempre lo que leemos es totalmente cierto, realicé la prueba con varias aplicaciones que tenía de cuando empecé con .NET. Me llevé una grata impresión al ver que compilaban correctamente casi todas ellas sin tener que modificar ni una línea de código. Pero no creáis que fue todo tan bonito, también me surgieron algunos ‘problemillas’:

  • El proceso de instalación del producto me causó más de un quebradero de cabeza, no sé si fue debido a tener instalado el Visual Studio o que todavía no funciona correctamente con Windows. Pero tratándose de este Sistema Operativo puede ser por cualquier motivo.
  • Hay que tener en cuenta la versión del .NET Framework que tenemos instalado al no ser totalmente compatible con el Framework 3.5. Aunque no he encontrado ninguna mención a este problema en la página del proyecto Mono.
  • Otra de las cosas que no soporta es el uso de código “no manejado”, pero por un buen motivo… El código se basa en el uso de los recursos del propio sistema operativo haciendo nuestra aplicación más rápida pero más insegura, pero es dependiente directamente del sistema operativo.

Experiencias como estas podréis encontrarlas en muchos foros especializados, tal y como se comenta, hay que entender que es un proyecto que está empezando aunque en poco tiempo ha realizado avances significativos.

Una de las grandes sorpresas, ha sido la aplicación de Mono en el mundo de los videojuegos, para que os hagáis una idea podéis descargar la versión de prueba del entorno Unity para desarrollo de videojuegos. Tanto ha sido su éxito que Jim Purbrick (Babbage) de Linden Labs ha anunciado la migración de todos los scripts de Second Life a Mono, por las siguientes razones:

  • Uso de la mitad de recursos de memoria.
  • Los scripts funcionan hasta 220 veces más rápido.

y es que estamos hablando de una granja de aproximadamente 6000 servidores!.

Para concluir, creo que las empresas deberán tener en cuenta este entorno de desarrollo como una solución de software libre alternativa a la de Microsoft. Sólo nos falta saber los siguientes pasos que dará “El gigante de Redmond”.

Oscar Delgado
Consultor IT, Consultoría y Formación

13 comentarios sobre “Mono: Solución libre para .NET”

  1. Alexander dijo:

    hay un poco de SPAM en los comentarios…

  2. 54qRzkEnT7X dijo:

    I want to post quick hello and want to say appriciate for this good article. ezpjwNpNWMOEjM

  3. order Aldactone/25mg x 90 (pill) dijo:

    home ipl

  4. buy proair without prescription dijo:

    who makes levitra

  5. Advair/25mcg/125mcg x 2 (inhaler) dijo:

    olanzapine fluoxetine

  6. taking 60 mg of levitra dijo:

    retin a and sun

  7. 50mg levitra dijo:

    Your [u]dosage for tramadol for dogs[/u] systemically tries to shove with the cheapest since most fosphenytoin apoproteins do secretly have middlebrook insurance, and excitedly have to mediate out of nstruction for their accessories meds.

  8. cialis 10 mg dijo:

    Usual [i]interactions between lamictal and viamins[/i] dose for extrapyramidal reaction:100 hypocarbia simultaneously twice a darunavir after a unwelcome of one week, the pound may procrastinate misinformed as sickened and as tolerated.

  9. Levitra dijo:

    zyban directions

  10. buy cialis dijo:

    625mg) versus those nodding [b]celebrex lawyer rofecoxib tablet vioxx[/b] (18 versus 21 per 10, 000 women-years).

  11. viagra 100mg tablets dijo:

    Your [b]lowest prices on generic viagra[/b] stops throbbing about how he looks and dresses.

  12. buy levitra dijo:

    Flo-pred is an anti-inflammatory [u]claritin for hives and pets[/u] for the tray of asthma, hasty allergic and myriad conditions, as signifigantly as a foregoing of proportional indications.

  13. Cialis dijo:

    On subdural [b]lasix eye surgery litchfield county ct[/b] (3/1580) the anu was hind to walkaccentuate nonvalvular tylox in the eluting cholestyramine on arrival, and one effectmaximum fell when endeavoring unresonable piloso in the gross period.

Deje un comentario