Mono è un’implementazione open source della piattaforma .NET di Microsoft, sviluppata principalmente da Xamarin (ora parte di Microsoft). Mono fornisce un ambiente di esecuzione di codice .NET multi-piattaforma, consentendo ai programmi scritti in .NET di funzionare su sistemi operativi diversi da Windows, come macOS, Linux e Android
Cos’è Mono?
Mono è un’implementazione open source della piattaforma .NET di Microsoft. In pratica, Mono consente di eseguire codice .NET su piattaforme diverse da Windows.
È stato sviluppato principalmente da Xamarin, una società acquisita da Microsoft nel 2016. Mono è disponibile sotto la licenza MIT, che consente la distribuzione del software anche a scopi commerciali.
La piattaforma .NET di Microsoft è stata originariamente sviluppata per funzionare solo su Windows, ma con Mono, i programmatori possono sviluppare e distribuire applicazioni .NET multi-piattaforma.
Mono non è solo un ambiente di esecuzione per il codice .NET, ma include anche una vasta libreria di classi, denominata “Base Class Library” (BCL), che implementa molte delle funzionalità presenti nella BCL di .NET. Mono include inoltre una versione open source del compilatore C# di Microsoft, chiamato “Roslyn”.
Mono fornisce un’ampia gamma di funzionalità, tra cui la compilazione just-in-time (JIT), che consente l’esecuzione del codice .NET su piattaforme diverse da Windows.
Come funziona Mono?
Mono funziona essenzialmente come un’alternativa multi-piattaforma alla piattaforma .NET di Microsoft. Esso consiste di due componenti principali:
Il runtime
Fornisce l’infrastruttura necessaria per eseguire il codice .NET. In particolare, il runtime fornisce il compilatore just-in-time (JIT) che traduce il codice .NET in codice macchina e lo esegue sulla piattaforma di destinazione. Il runtime Mono include anche una vasta libreria di classi, denominata Base Class Library (BCL), che implementa molte delle funzionalità presenti nella BCL di .NET.
Gli strumenti di sviluppo
Mono include una versione open source del compilatore C# di Microsoft, chiamato Roslyn, che consente di compilare il codice sorgente C# in codice eseguibile .NET. Mono include anche una vasta gamma di strumenti di sviluppo, tra cui un debugger, un profiler e una suite di test.
Mono (come .NET) è strettamente legato al linguaggio di programmazione C #, noto per il suo alto livello di portabilità ma supporta molti dei linguaggi di programmazione presenti nella piattaforma .NET di Microsoft, quali F# e Visual Basic .NET.
Link
Sito del progetto Mono
Link al repository del progetto Mono
Link al repository del compilatore Roslyn
Sono laureato in Ingegneria Informatica presso l’Univertità degli Studi di Lecce (2008).
Attualmente mi occupo di Sviluppo C#.Net / Mono in ambiente Linux
Sviluppo da anni applicativi ANSI C per terminali POS basati su processori ARM Risc 32Bit con 2-4 MB di Ram.