Home
Mono, la piattaforma di sviluppo .NET per Linux

19 Novembre 2002

Mono, la piattaforma di sviluppo .NET per Linux

di

Un'iniziativa Open Source per realizzare una piattaforma .NET in ambiente Linux consentirà di portare sul sistema operativo del pinguino le applicazioni sviluppate per il mondo Microsoft

Il sistema operativo Linux è sempre stato indirizzato verso un pubblico piuttosto “alto”, in termini di competenze tecnologiche. Negli ultimi anni molto lavoro è stato fatto per renderlo più user friendly e accessibile alla maggior parte degli utenti, tuttavia la stragrande maggioranza dei “Linuxiani” sono, in genere, sviluppatori, webmaster, programmatori o comunque utenti con una buona conoscenza dell’informatica. Basti pensare che la maggior parte del software disponibile per questo sistema operativo viene distribuita solamente attraverso il codice sorgente, che deve essere “compilato” sul computer finale. Questo passaggio, un tempo comune per tutti i computer, è completamente sconosciuto all’utilizzatore finale di Windows, che si trova prodotti già compilati e pronti per l’uso, da installare sulla propria macchina.

Un ambiente come Linux che, quindi, si rivolge a programmatori esperti, diventa il terreno ideale per sperimentare nuovi strumenti di sviluppo software. Linux possiede sin dalle origini alcuni strumenti di programmazione. Per esempio, il compilatore di C fa parte del sistema operativo stesso tant’è che un bravo utente Linux può, se lo desidera, ricompilare il kernel adattandolo a particolari esigenze. Tuttavia, per costruire applicazioni indipendenti dalla piattaforma – che quindi possano funzionare tanto su Linux quanto su Windows – sono necessari strumenti diversi, che poggino su fondamenta comuni e utilizzino lo stesso linguaggio. Già Borland aveva fatto un importante passo in questa direzione con Kylix, una versione Linux del ben noto ambiente di sviluppo Delphi.

Annunciato nel luglio 2001 dalla Ximian Inc., software house di Boston impegnata in progetti open source per il sistema operativo Linux, il progetto Mono si configura oggi come una delle prospettive più interessanti per il mondo dello sviluppo software interpiattaforma.

L’idea alla base non è ovviamente nuova, il progetto GNOME stesso nacque con l’obiettivo di conservare una indipendenza dal linguaggio tramite lo sviluppo di API standard, disponibili in Perl, Python, Scheme, C++, Ada. Allo stesso modo la piattaforma.NET fornisce uno strumento molto interessante di indipendenza dal linguaggio, attraverso la Common Language Specification (CLS), ovvero una specifica che consente di scrivere codice che verrà correttamente eseguito su piattaforme hardware diverse, secondo un modello simile alla Java Virtual Machine.

“Ciò che rende particolarmente interessante la piattaforma di sviluppo.NET – secondo le parole di Miguel de Icaza, CTO della Ximian, Inc. e presidente della GNOME Foundation – sta nella varietà di tecnologie che sono state integrate molto bene”. Altro punto fondamentale, le specifiche del linguaggio C#, i metadati e altri aspetti della piattaforma.NET sono stati inviati all’ECMA, organismo con sede a Ginevra per la standardizzazione a livello internazionale di prodotti e specifiche software.

“.NET rappresentava secondo me un passo avanti importante per gli sviluppatori Win32 – continua De Icaza in una intervista su MSNBC – che avevano lo stesso problema a cui dovevamo far fronte noi quando ci trovavamo di fronte ad API realizzate nel corso degli anni: un problema di uniformità. Il mio desiderio era quindi di portare un po’ di quest’aria nuova anche alle mie applicazioni.”
Sfortunatamente per gli sviluppatori Linux, le limitazioni della licenza Microsoft ‘shared source’ impediscono lo sviluppo e la distribuzione di applicazioni commerciali su altre piattaforme, come Linux, Solaris e UNIX. Obiettivo del progetto Mono, che inaugura lo slogan “build once, deploy anywhere” è quindi dare ai programmatori quella libertà nello sviluppo e distribuzione di applicazioni proprietarie che la licenza Microsoft non concede.

All’interno del progetto GNOME, Mono rappresenta quindi un lavoro ancora in corso per produrre tre risultati fondamentali:

  • Un compilatore C# per ambiente Linux.
  • Librerie di classi compatibili con la Common Language Infrastructure. Questi due punti consentiranno agli sviluppatori Linux di creare applicazioni compatibili con tutto il mondo.NET.
  • Infine, un motore di run-time CLR per Linux che consenta una compatibilità nell’altro senso, ovvero di eseguire sotto questo sistema operativo anche le applicazioni sviluppate per Windows.

Lo stato attuale del progetto è ovviamente in piena fase di sviluppo anche se le versioni stabili sono già disponibili, in pieno spirito open source. La release 0.16, disponibile al momento di questo scritto, può essere scaricata dal sito Web del progetto Mono sotto forma di codice sorgente o di pacchetti RPM per le principali distribuzioni Linux.

L'autore

  • Alberto Mari
    Alberto Mari lavora col Web dal 1998. La passione per le tecnologie e una cultura umanistica l'hanno portato a occuparsi di editoria digitale e ebook.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.