Mono es un proyecto libre y de código abierto de Xamarin (uno de sus fundadores es nuestro buen amigo Miguel de Icaza), que intenta ser compatible con la idea de .NET incluso en la serie de herramientas propuestas como un compilador de C# y una biblioteca en tiempo de ejecución (runtime) común a todos los lenguajes. La idea es pues no sólo ser capaz de correr aplicaciones .NET en otras plataformas, sino el dotar de nuevas herramientas a los programadores de Linux. De hecho, Mono puede correr en Android, BSD, iOS, Linux, OS X, Windows, Solaris y Unix, así como algunas consolas como PlayStation 3, Wii y Xbox 360. Pues bien, parece que —de acuerdo con Miguel de Icaza— ya no vale la pena seguir manteniendo Moonlight, la versión libre y abierta de Silverlight.
Microsoft, de hecho, no ha sido capaz de admitir que Silverlight está muerto. En una entrevista hecha a Jonathan Allen y a Miguel de Icaza, admitieron que el proyecto Mono ha abandonado Moonlight. Cuando se les preguntó por qué, sus respuestas fueron éstas, las cuales sin duda son reveladoras:
“Silverlight no ha tenido una gran adopción en la web, por lo cual no parece ser que se haya convertido en la tecnología que debemos tener. Y para colmo, Microsoft ha añadido restricciones artificiales que hacen que Silverlight sea poco menos que inútil de usar en la programación de máquinas de escritorio.
En estos días hemos llegado a la conclusión que Silverlight no es una plataforma de tecnología para escribir una vez el código y correr en todas las plataformas pues tiene un sinfín de limitaciones para ser útil. Creemos que en el mundo de C# la mejor opción es dividir en código en las líneas de una capa a nivel presentación. El usuario entonces puede usar la parte del núcleo de sus aplicaciones en todas las plataformas y escribir la nueva especificación de la interfaz del usuario para cada plataforma en el objetivo: iOS con MonoTouch, Android con MonoAndroid, Mac con MonoMac, Windows con WPF o Winforms o Mac, Web con ASP.NET y Windows y Linux con Gtk.
Esto tampoco es una tecnología escríbase una vez y córrase en todas partes, pero el resultado son aplicaciones que pueden explotar las facilidades nativas y crear experiencias nativas en cada plataforma”.
De alguna manera, Microsoft está tejiendo toda una serie de sistemas que son incompatibles en buena medida con lo anterior. La nueva interfaz Metro parece incompatible con algunos aspectos de .NET y, por ende, si Ballmer y amigos deciden darle un giro de 180 grados a su manera de hacer aplicaciones y software, probablemente estén condenando a algunas de sus tecnologías, como es el caso de Silverlight.
Referencias: Mono (software) y i-programmer