Moonlight 2.0 (pre) alpha - Come fare i primi test!

Guardiamo in faccia la realtà: Silverlight 2.0 è una figata per tante ragioni, ma la limitata diffusione del runtime causa non pochi problemi, il che sarebbe anche il male minore, se almeno il runtime esistesse per qualche piattaforma in più!

Diciamo perlomeno:  

  • Mac basati su PowerPC
  • Mac OS X <= 10.3
  • Linux

Fortunatamente esiste un accordo Microsoft/Novell per favorire lo sviluppo di Moonlight, l'implementazione della tecnologia Silverlight in seno a Mono, in grado di coprire un ampio spettro di piattaforme.

Moonlight 2.0, per far girare applicazioni Silverlight 2.0, è attualmente in pre-alpha (nella roadmap viene indicato il 18/03/09 come data per il rilascio di una prima alpha, ma ancora non si è visto).

Con un po' di pazienza si possono comunque fare i primi test.  Di seguito trovate una guida su come compilare, installare e testare Moonlight 2.0 (pre alpha) su Linux

Cercherò di esporre gli step necessari in modo che anche chi non abbia dimestichezza con Linux possa seguirli.

Per i test ho usato una distribuzione Ubuntu 8.10 su una VM in VMWare Server 2.0. Qualunque altra distribuzione ragionevolmente recente a vostra scelta può andare bene, magari verificate il supporto di Mono. Nel caso di distro di derivazione RedHat sostituite naturlamente i vari apt-get install xxx con rpm -Uvh xxx  (Il nome dei pacchetti potrebbe ovviamente non corrispondere).

Ok, apriamo una shell (menu Applicazioni -> Accessori -> Terminale in Ubuntu) e creiamo una dir nella home. 

mkdir mono && cd mono

Download dell'ultimo snapshot dal repository subversion di mono, mcs, e moonlight:

svn co http://anonsvn.mono-project.com/source/trunk/mono
svn co http://anonsvn.mono-project.com/source/trunk/mcs
svn co http://anonsvn.mono-project.com/source/trunk/moon

Per compilare abbiamo bisogno di un ambiente mono e del relativo C# compiler esistenti:

sudo apt-get install mono mono-mcs mono-gac

Altre dipendenze:

sudo apt-get install gtk-sharp2
sudo apt-get install librsvg2-2.18-cil

Per i test vi servirà Firefox, se non l'avete già installato:

sudo apt-get install firefox

Nel mio ambiente per compilare ho dovuto fare il deployment in GAC delle seguenti DLL:

sudo gacutil -i /usr/lib/mono/gtk-sharp-2.0/gtk-sharp.dll
sudo gacutil -i /usr/lib/mono/gtk-sharp-2.0/atk-sharp.dll
sudo gacutil -i /usr/lib/mono/gtk-sharp-2.0/glib-sharp.dll

Nota 1: per il momento non compiliamo il supporto per video e audio. Nel caso vi servirà anche ffmpeg:
svn co -r 10885 svn://svn.mplayerhq.hu/ffmpeg/trunk

Nota 2: Per semplicità al termine della compilazione andremo a sostituire l'ambiente Mono esistente.
Se volete creare un ambiente Mono parallelo seguite queste istruzioni.

Nota 3: Quanto segue è relativo all'attuale revisione 130495 di Moonlight

Ok, compilazione e installazione di mono e mcs:

cd mono
./autogen.sh --enable-moonlight=yes
make
sudo make install
cd ..

Compilazione e installazione di Moonlight 2.0:

cd moon
./autogen.sh --enable-managed=yes
make
sudo make install

Il plugin di firefox (compilazione e installazione nella vostra home):

make test-plugin

Aggiornamento della cache delle librerie dinamiche:

sudo ldconfig
 
Ci siamo! In assenza di errori potete vedere se funzia con un'applicazione di test:

firefox http://www.alessandropilotti.com/Moonlight20/

Il test è ovviamente molto minimalista, dato lo stato del progetto! In caso di errore osservate l'output di Firefox sulla shell.


Speriamo di mettere le mani su una beta in tempi brevi... anche perchè intanto Silverlight 3.0 non aspetta. 
Purtroppo come già avviene per Mono dovremo abituarci ad un Moonlight in perenne "catch up" rispetto alla versione MS.

Buon hacking!

 

posted @ domenica 29 marzo 2009 19:56

Print
Comments have been closed on this topic.