[Mono] Primo (e veloce) test-drive della 1.0

Tra i requisiti di un progetto sul quale sto lavorando c'è la compatibilità con Mono; per chi (ancora) non lo sapesse, Mono è una implementazione .NET compatibile dello standard ISO23271 finanziata da Novell e disponibile per differenti OS, quali: WindowsLinux (x86 ma anche PPC) e Mac OS X. Ciò premesso, devo precisare che non giocavo con Mono da molto tempo, ossia dalla versione 0.28: ho quindi scaricato ieri la 1.0, curioso di testarne la compatibilità con il framework di Microsoft in versione 1.1; l'installazione è banale ma non esaustiva, poichè "roba" come GTK (il toolkit per lo sviluppo di GUI client) e XSP (il web server) sono distribuiti in forma sorgente. Volendo evitare le lungaggini insite nell'opera di ricompilazione (a partire dalla configurazione dell'ambiente), è possibile usare un package alternativo che contiene tutti i tool in forma binaria, nonchè dei comodi batch per avviarli. Prime impressioni:

  • Su codebase banali, il funzionamento è ovviamente immediato: è possibile compilare con Visual Studio ed avviare usando il runtime di Mono mediante un banale mono miaapp.exe dal command prompt.
  • Come specificato nella roadmap del progetto Mono, il supporto agli EnterpriseServices è inesistente: se l'applicazione implementa dei ServicedComponent, non potrà "girare" su Mono
  • Il supporto a VB .NET è davvero troppo minimale per pensare di usare Mono per eseguire applicazioni .NET scritte con queste linguaggio: il problema è nella attuale incapacità del runtime Novell di gestire la Microsoft.VisualBasic.dll; a titolo di esempio, XSP non è stato in grado di gestire le demo inerenti il data binding mostrate durante il Platform Workshop. L'errore (di tipo MonoBASIC.yyParser.yyException) restituito è un esplicito: "THIS IS STILL ALPHA AND UNSUPPORTED SOFTWARE, USE AT YOUR OWN RISK." La roadmap dichiara che il supporto a VB sarà incluso nella release 1.2 di Mono, schedulata per il Q4/2004: sicuramente, c'è bisogno di molto lavoro in questa area.
  • Anche il supporto a C# ha riservato qualche sorpresa: Mono è stato spesso incapace di gestire assembly compilati con csc.exe (o VS .NET, che usa comunque il compiler dell'SDK) in modalità di debug o utilizzanti lo switch /incremental, costringendomi a ricompilarli. Ancora una volta, il messaggio dell'errore è decisamente esplicativo: "Assembly 'W:\Inetpub\RDE\bin\DebugSwt.RDE.DOM.dll' has the non-standard metadata heap #-. Recompile it correctly (without the /incremental switch or in Release mode)"

Siamo solo all'inizio, vediamo che succede andando avanti...

Technorati Tags:

posted @ martedì 10 agosto 2004 17:27

Print
Comments have been closed on this topic.
«settembre»
domlunmarmergiovensab
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910