Mono: programmare in C# su Linux

25 settembre 2014

È probabile che molti sviluppatori .NET, con esperienza nello sviluppo di tool e tecnologie tipiche di Microsoft, rimarrano stupiti nello scoprire che il framework .NET è indipendente dalla piattaforma. Ciò significa che ogni applicazione .NET può essere compilata ed eseguita non soltanto sul sistema operativo Microsoft Windows, ma anche in qualsiasi altro sistema che utilizzi un’opportuna implementazione di .NET. Esistono diverse soluzioni di questo tipo; una di esse è Mono, che gode anche della caratteristica di essere open source.

Come il sito ufficiale sottolinea, “Mono è una piattaforma software progettata per consentire agli sviluppatori di creare facilmente applicazioni cross-platform“. La natura open source di questo framework, infatti, ci consente di utilizzarlo anche su altri sistemi operativi, tra i quali c’è anche Linux.

In questo articolo vedremo proprio come utilizzare Mono ed i relativi tool di sviluppo per riuscire a programmare applicazioni di varia natura anche sul sistema operativo del pinguino.

Mono: meglio o peggio di Microsoft .NET?

Prima di utilizzare un framework alternativo a .NET, e non garantito da un colosso come Microsoft, è bene chiedersi se esso rappresenti effettivamente una scelta conveniente o meno. Nello sviluppo di un software di alto livello, infatti, è importante che le basi dell’applicazione e gli strumenti di sviluppo siano solidi e duraturi. Di conseguenza, bisogna chiedersi: quanto durerà Mono? Può continuare ad essere un’alternativa a Microsoft, oppure quest’ultima può opporre resistenza alla sua crescita, ed avvalersi di brevetti e licenze per annichilire l’intero progetto open source?

Le risposte a queste domande si trovano sulle F.A.Q. del sito ufficiale di Mono, ma possiamo riassumerle dicendo che Mono è un’implementazione legale di .NET, che non viola cioè alcun termine di licenza. Tutto ciò che è brevettato da Microsoft può essere invece sostituito da librerie alternative, consentendo l’utilizzo di C# anche fuori da contesti legati a software proprietari. Il fatto che applicazioni com Banshee, F-Spot o Tomboy (molto diffuse sui principali sistemi desktop Linux) sfruttino Mono è indice di come le sue potenzialità possano essere sfruttate senza temere imprevisti.

A questo punto non resta che capire come installare Mono su Linux, ed imparare ad usufruire delle sue potenzialità.

Installare Mono su Linux

Mono è disponibile per diverse distribuzioni Linux, ma il processo di installazione varia leggermente in base alla distribuzione che vogliamo utilizzare. Indipendentemente da essa, però, la prima cosa da fare è scaricare la chiave GPG necessaria per l’accesso ai repository di Mono da parte del package manager che utilizziamo. Possiamo scaricarla a questo link, e utilizzarla opportunamente come spiegato di seguito.

Installazione su Debian, Ubuntu e derivate

Per prima cosa, aggiungiamo la chiave GPG tramite apt. Per farlo, digitiamo da terminale (con i permessi di root) il comando seguente:

apt-key add /path/di/salvataggio/della/chiave/xamarin.gpg

Adesso dobbiamo aggiungere i repository che contengono i pacchetti di Mono, apportando qualche semplice modifica al file /etc/apt/sources.list. Su Debian e Ubuntu utilizziamo il comando seguente:

echo "deb http://download.mono-project.com/repo/debian wheezy main" > /etc/apt/sources.list.d/mono-xamarin.list

A questo punto, se utilizziamo le versioni di Ubuntu 12.04 o 12.10, aggiungiamo un ulteriore repository con quest’altro comando:

echo "deb http://download.mono-project.com/repo/debian wheezy-libtiff-compat main" >> /etc/apt/sources.list.d/mono-xamarin.list

Se, invece, la versione di Ubuntu è la 13.10 o seguente, oppure utilizziamo Debian 8.0 o una versione successiva a quest’ultima, il comando da eseguire è:

echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" >> /etc/apt/sources.list.d/mono-xamarin.list

Dopo avere aggiunto i riferimenti ai repository necessari, non resta che aggiornare apt ed installare Mono:

sudo apt-get update
sudo apt-get install mono-complete

Installazione su CentOS, Fedora, e derivate

Anche in questo caso, la prima cosa da fare è aggiungere la chiave GPG, necessaria al package manager per l’ottenimento dei pacchetti. In questo caso, il comando da eseguire è il seguente:

rpm --import xamarin.gpg

Quindi, aggiungiamo il repository ed aggiorniamo la cache dei package come segue:

yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
yum makecache

A questo punto, non resta che installare Mono:

yum install mono-complete

Su CentOS e RHEL può essere altresì necessario aggiungere i repository EPEL. Rimandiamo la soluzione di questo problema ad un’apposita guida.

Per ogni necessità legata ad altre distribuzioni Linux, la pagina di download del sito ufficiale di Mono è un ottimo riferimento.

Se vuoi aggiornamenti su Mono: programmare in C# su Linux inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Mono: programmare in C# su Linux

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy