Mono

Mono è un’implementazione libera del Microsoft Framework .NET coordinato da Novell che consente di compilare ed eseguire le applicazioni per la nuova piattaforma Microsoft. Considerato che la vecchia piattaforma di sviluppo COM, anche se supportata è già considerata deprecata, questo progetto in futuro avrà probabilmente un’importanza più rilevante di Wine. Può eventualmente essere integrato in quest’ultimo nella sua versione per Windows, ma visto che esiste nativamente per molte architetture, non so se è di qualche utilità! Considerato anche che i programmi per la piattaforma .NET non sono scritti in linguaggio macchina puro ma in un equivalente del bytecode di Java (il Common Intermediate Language), si ha il vantaggio di poterli eseguire su qualunque architettura hardware.
Non so quali siano i progetti di ReactOS, ma penso che questo progetto darà una buona spinta al suo sviluppo perché non dovranno lavorarci da capo.

Personalmente, ho voluto fare la prova con un programma scritto da me in C#. Non ho ancora provato a compilarlo, ma ne ho eseguito direttamente il file binario. Sono dell’idea che la compatibilità non sia ancora totale, perché l’applicazione ha avuto qualche comportamento diverso da quello che ho visto su Windows col Framework .NET, ma io ho la versione 2.0.1 di Mono e non l’ultima (2.4), quindi riproverò dopo l’aggiornamento.
Esiste anche il programma libero Monodevelop che fornisce un IDE per sviluppare applicazioni per .NET/Mono, anche se sprovvisto di strumenti per la creazione rapida delle GUI, al contrario di Visual Studio. Spero che lo aggiungano in futuro perché a mio parere questo è il tallone d’achille per lo sviluppo esclusivamente con software libero.

Per gli utilizzatori di FreeBSD segnalo che la Microsoft fornisce il Framework .NET per tale SO, quindi eventualmente decidete voi quale utilizzare!

Per chi non ha le idee ben chiare sul Framework .NET si veda l’apposita discussione su Windows->Software per Windows

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *