Vorrei condividere con tutti coloro che pensano che monodevelop sia un buon progetto un pomeriggio con questo. Per chi non lo sapesse Mono è un progetto che vorrebbe portare l’ambiente .NET su altre piattaforme che non siano per forza legate alla Microsoft. Per chi non lo sapesse la piattaforma .NET in realtà si basa su uno standard dell’ ECMA che sarebbe implementabile su qualsiasi sistema. In realtà le specifiche dell’ECMA definiscono soltanto una parte del .NET, il resto è liberamente scritto dalla Microsoft.
All’università di Genova l’ambiente Microsoft è, purtroppo, considerato l’ambiente principe per lo sviluppo di applicativi di tipo commerciale insieme a Java e l’ambiente Visual Studio, che i contribuenti pagano fior di soldi attraverso l’università e quindi il ministero dell’istruzione, il mezzo per creare applicativi competitivi per il mercato. Ma io, in quanto utilizzatore di linux, sono sempre più convinto che in futuro avranno sempre più successo gli applicativi multipiattaforma. In un futuro sarà di primaria importanza secondo me, sapere trasportare programmi scritti con Visual Studio su altre piattaforme. Così, per cultura personale, ho deciso di testare l’ambiente Mono e di lavorare per creare applicativi multipiattaforma con .NET.
Ho programmato i miei primi due oggetti senza problemi, lo sviluppo in C# è identico a quello in Java e se sai sviluppare con uno sai sviluppare con l’altro. La compilazione via riga di comando era perfetta, l’eseguibile .exe creato funzionava perfettamente con mono. Da lasciare sbalorditi. Non sono un grande sostenitore di .NET, ma più che altro perchè sono di parte. Testandolo devo però dire che non ha nulla da invidiare a Java. Ciò che però fa il framework, a parte l’implementazione è anche l’ambiente di sviluppo. Così decisi positivamente di testare anche Monodevelop. Devo dire che per essere in una fase iniziale, monodevelop ha veramente tantissime caratteristiche di Visual Studio e secondo me diventerà un editor potentissimo. Unico neo, quel maledetto gtk#. Una delle caratteristiche più potenti di Visual Studio è quel magnifico editor di interfaccia utente integrato con l’ambiente. Gtk# è una menomazione, non una caratteristica di MonoDevelop. Lo sviluppo dell’interfaccia grafica è stato impossibile: crash ogni cinque minuti e problemi con ogni tipo di componente. In particolare crash di MonoDevelop quando tento di aggiungere una voce a un menu o quando definisco l’evento “premi tasto” di un button. Così, dopo 4 ore di continui tentativi ho dovuto mollare, aprire la virtual machine con Windows Server 2003 e lavorare con Visual Studio. Una delusione. Qui sotto posto tre immagini, prima di inserire una voce in un menu, durante e dopo il crash.
Prima del menu:
Appena provo a salvare il progetto:
In realtà l’ambiente, se cresce un pò, potrebbe essere utilizzato come ambiente di sviluppo. Anche se proprio non ne capisco il motivo. Java è C#, a livello di programmatore sono praticamente identici. Siamo davvero sicuri di voler usare qualcosa di legato ai brevetti Microsoft? Continuo a non capire il perchè di Mono.


