Mono

Storicamente scegliere un linguaggio di sviluppo o un framework Microsoft ha sempre significato rassegnarsi a veder girare i propri applicativi sulle sole piattaforme Microsoft .
Proprio per questa verità storica molti programmatori .NET sono sorpresi quando apprendono che .NET è platform-indipendent .
Questo significa che si possono compilare ed eseguire applicazioni .NET su sistemi operativi non Microsoft .
Oppure si possono sviluppare e compilare applicativi .NET su sistemi operativi come Linux e poi eseguirli sui sistemi Microsoft .

Tutto ciò è possibile grazie al lavoro di Miguel de Icaza (e della Novell) che ha implementato le CLI (Common Language Infrastructure) di .NET su Linux creando quello che si chiama MONO

MONO è quindi l'implementazione Open delle seguenti direttive :

ECMA-334 , che definisce la sintassi e la semantica del linguaggio C#
ECMA-335 , che definisce numerosi dettagli di .NET (le CLI)

PS:
L'implementazione di .NET sulle piattaforme Linux ha generato un gran rumore nella comunità causando discussioni infinite sul fatto se sia un bene o un male per la comunità Open.
Sinceramente io non sò se la cosa possa nuocere alla comunità Open o a Linux e non avendo quindi un giudizio a tal proposito vi posso solo dire che Mono semplifica notevolmente lo sviluppo in ambiente Linux e mi permette di imparare ad usare un linguaggio moderno che posso anche utilizzare sulle piattaforme Microsoft .
Dimenticavo di dirvi che tutto dove posso io utilizzo Linux ;-)

-

Accenni Storici

Nel 2000 la società Ximian, fondata e diretta da Miguel de Icaza, specializzata in software open source, aveva intenzione di costruire strumenti di sviluppo software che accrescessero la produttività di sviluppo del software multipiattaforma.
Appena la Microsoft presentò il Framework .NET, la Ximian se ne interessò, e il 19 luglio 2001 annunciò il progetto open source Mono alla conferenza O'Reilly.
Quasi tre anni dopo, il 30 giugno 2004 fu rilasciata la versione 1.0.

-

Link del progetto MONO

Il sito uffuciale di MONO è
http://www.mono-project.com

Il sito uffuciale della documentazione di MONO è
http://www.go-mono.com/docs

Il sito uffuciale dell'ambiente RAD di sviluppo per MONO è
http://www.monodevelop.com


-

L'interfaccia grafica delle applicazioni.

Se decidete di iniziare a sviluppare applicazioni Mono il metodo più amichevole è sicuramente quello di utilizzare MonoDevelop come ambiente RAD di sviluppo .
Se volete disegnare le vostre finestre in modo grafico , per intenderci come si fà con VB oppure Gambas , per il momento è d'obbligo utilizzare C# come linguaggio e GTK2.0 come tipologia di applicazione.
Se invece deciderete di utilizzare VBnet come linguaggio o le WinForm invece che GTK le cose si complicheranno un pò , ovvero dovrete scrivervi da zero e senza editor grafici il codice di creazione della finestra e dei vari oggetti (pulsanti , etichette ...) in essa contenuta .
A voi la scelta .

-