martes, 31 de marzo de 2009

Sobre el proyecto Mono



¡Saludos blogueros!

Este es un pequeño artículo hecho a partir de las anotaciones surgidas en una discusión con un amigo, sobre la posibilidad de migrar sus aplicaciones ASP. Net a un entorno FreeBSD.

El proyecto Mono consiste en una plataforma de software que nos permite ejecutar aplicaciones desarrolladas en .Net, sobre sistemas operativos diferentes a Windows de Microsoft, este proyecto es actualmente liderado por el desarrollador mexicano Miguel de Icaza. Una de las cosas que me agradaron al leer sobre este proyecto es que no solo nos ofrece una máquina virtual para ejecutar una aplicación compiladas en Visual Studio, (como hace la plataforma Java con sus archivos .class), sino que también cuenta con su propio compilador para programas desarrollados en diferentes lenguajes, como C# y Visual Basic, así como Phyton y Java.

Uno de los objetivos de este proyecto es hacer a las aplicaciones .Net verdaderamente multiplataforma, ya que, como la información lo indica, Mono funciona en GNU/Linux, FreeBSD, UNIX, Mac OS X, Solaris y plataformas Windows.

Para conseguir este último punto es que Mono utiliza el Common Language Runtime (CLR), ya que al compilar todos los programas escritos en los lenguajes que mencionamos se crea uno o más archivos en un código intermedio -similar al Bytecode de Java-, el cual sigue las especificaciones del CLR y puede ser interpretado por la máquina virtual con que cuenta Mono, entonces esta aplicación lleva a cabo la ejecución del programa, traduciendo las instrucciones en código intermedio al conjunto de instrucciones soportado por el sistema operativo sobre el cual está corriendo. Como se puede ver, es el mismo comportamiento del núcleo del framework de .NET de Microsoft, con la diferencia de que este solo puede encontrarse en entornos Windows.

Además Mono cuenta con un conjunto de bibliotecas de clases para obtener diferentes funcionalidades que facilitan el desarrollo de software, las cuales además pueden ser ejecutadas en cualquier otro entorno que cuente con un interprete para CLR.


Como indica el diagrama, nuestras aplicaciones escritas en alguno de los lenguajes mencionados (sí, yo también prefiero C#) utilizarán las bibliotecas de clases que nos ofrece la plataforma, las cuales están soportadas por el compilador y la máquina virtual de lenguaje común de infraestructura (CLI), que implementa la interpretación de programas en CLR y permite su ejecución en cualquiera de los sistemas operativos antes mencionados.

Podemos encontrar la versión actual (2.4) de Mono en su sitio oficial, y también en el sitio en español Mono Hispano.

Existen algunos entornos visuales open source para desarrollar aplicaciones .Net, entre las que encontramos SharpDevelop, el cual hasta ahora me ha parecido el más maduro de todos.

En el video que sigue a continuación, podemos encontrar parte de una conferencia que dio Miguel de Icaza hace un par de años en Badajoz España sobre el proyecto Mono, Dónde además nos enseña un ejemplo de como utilizar esta plataforma en GNU/Linux:



Desafortunadamente no he conseguido algo más reciente y la calidad no es lo que podríamos esperar pero aún así vale la pena verlo.

1 comentarios:

icesiscabell dijo...

Play Slots Online - Jtm Hub
Play Casino Slot Games 부산광역 출장마사지 Online at 안동 출장샵 Jtm-Win Casino. Play online slots for free on Jtm-Win 통영 출장안마 Casino. Game 영천 출장마사지 Slot Machine Online Gambling Online. Jtm-Win Slot Machine. 군산 출장마사지 Jtm-Win Slot Machine. Jtm-Win Slot Machine. Jtm-Win Slot Machine.

Publicar un comentario