Libro para desarrolladores en Mono:Capítulo 15
De Mono Hispano
Capítulo 15. Moonlight
Contents |
Introducción
Silverlight 2.0 es una nueva tecnología para Web desarrollada por Microsoft basada en el CLR (Common Language Runtime, el motor en tiempo de ejecución del .NET) que utiliza un sistema de gráficos 2D y un motor que reproduce medios.
Mono realizo un proyecto denominado Moonligth para realizar un port para Linux de Silverligth, actualmente Moonlight soporta tanto como Silverlight 1.0 (canvas y scripts basadas en browser) y aplicaciones 2.0 (canvas + ECMA CLI montadas sobre el motor de ejecución.).
Actualmente Moonlight esta en fase de desarrollo, por lo que no esta disponible en los paquetes de mono, para obtener Moonlight para Linux, es necesario obtenerla desde el repositorio SVN desde un par de modulos, moon que contiene el motor para rendering, el plugin para browser, los vinculos con Gtk# y varios ejemplos en XAML. De igual forma es necesario el modulo olive que contiene el API administrado para que lenguajes como C# puedan acceder a Silverlight.
Pasos para obtener Moonligth:
- Instalar Mono para Unix desde los repositorios SVN (Opcional, puede omitirse este paso, pero moonlight se construirá con soporte solo para la versión 1.0)
- Configurar Mono con la siguiente opción --with-moonlight=yes
- Descarga e instala el modulo olive
- Ejecuta: configure --with-moonlight
- Ejecuta: make; make install
- Instala las dependencias para el modulo moon de tu distribución:
- Gtk+ 2.0 development package
- ffmpeg desde SVN (opcional, puede omitirse, pero moonlight no reproducirá ningún archivo multimedia)
- Puede obtenerse desde svn co -r 10885 svn://svn.mplayerhq.hu/ffmpeg/trunk
- Mozilla NSPR development package
- nspr mozilla-nspr firefox-nspr xulrunner-nspr seamonkey-nsp
- Mozilla NSS development package
- nss mozilla-nss firefox-nss xulrunner-nss seamonkey-nss
- Mozilla XPCOM
- xpcom mozilla-xpcom firefox-xpcom xulrunner-xpcom
- Descarga e instala el modulo moon desde el repositorio SVN
- Ejecuta: make; make install
- Si no instalaste mono/olive, debes configurar con --with-mono-runtime=no
- Si no instalaste ffmpeg, debes configurar con --with-ffmpeg=no
- Para instalar el Plugin debes ejecutar: make test-plugin
- Ejecuta: make; make install
Pasos extras
Si quieres obtener el SDK de Silverlight para las librerías básicas, necesitas:
- Obtener mono desde el repositorio SVN o AnonSVS
- Ejecutar la siguiente configuración:
- ./autogen.sh --with-moonlight=yes
- Instalarlo
- make install
Esto producirá un Nuevo compilador smcs que por default utiliza la versión 3.0 de C# e incluye los ensamblados de Silverlight en el compilado. Necesitas utilizar este compilador para generar los ensamblados y librerías que intentes ejecutar con Microsoft Silverlight o Mono Moonlight.
Espacio de nombres
Actualmente está disponible el espacio de nombres Gtk.Moonlight
Una aplicación básica
Gtk.Moonlight permite integrar XAML en tus aplicaciones bajo GTK
Veamos un ejemplo en C#
using Gtk;
using Gtk.Moonlight;
class X {
static void Main ()
{
Application.Init ();
GtkSilver.Init ();
Window w = new Window ("Ejemplo de contenido en XAML");
GtkSilver silver = new GtkSilver (100, 100);
w.Add (silver);
w.ShowAll ();
silver.LoadFile ("test-animation-line.xaml");
Application.Run ();
}
}
Para compilarlo escribimos lo siguiente en la línea de comandos:
$ gmcs demo.cs -pkg:gtksilver -pkg:gtk-sharp-2.0

Powered by MediaWiki