Итак, сегодня 6.10.2008 вышла новая версия MONO под номером 2.0. MONO — это свободная реализация платформы .NET под Linux и в настоящее время проект принадлежит Novell. Свободная, — это значит что доступен исходный код и использовать можно для любых целей. Нужно правда заметить, что для .NET Microsoft исходный код тоже по сути доступен, но вот использовать его и тем более вносить изменения нельзя (сам .NET можно использовать в любых проектах бесплатно). Кстати у Novell есть соглашение о сотрудничестве с Microsoft.
Список изменений весьма неплох. Самое главное, теперь 100% поддерживаются Windows Forms 2.0 (ранее с этим были проблемы, так как есть определенные сложности отображения окон в другой платформе), а также ADO.NET 2.0, ASP.NET 2.0, Windows.Forms 2.0, System.XML 2.0, System.Core (LINQ), System.Xml.Linq, System.Drawing 2.0 API. Также обновлены API, которые присущи только Mono (это считаю не очень интересным, кому нужно прочитает список всех изменений тут). Из примечательно, теперь в среде разработки работает отладчик! Под MONO 2.0 полностью компилируется и запускается PAINT.NET, который изначально создан под Windows и содержит более 160000 строк кода. Правда все функции недоступны, так PAIN.NET использует некоторые функции из Win API. Полностью поддерживается спецификация C# 3.0, Visual Basic 8, имеется отдельный IL assembler и disassembler. Из хорошего также можно отметить значительное увеличение быстродействия. MONO 2.0 доступен для скачивания и установки под Linux (различные версии), Windows, Mac OS X, в виде Live CD и в виде VMWare машинки. Главная страница MONO 2.0 тут.
Использовать MONO для Windows я смысла большого не вижу, но если Вы при разработке приложения, думаете о возможном переходе под Linux, то стоит использовать переодически утилитку Mono Migration Analyzer, которая может проаназировать код на возможность перехода из под .NET на MONO. При отправке отчета, это поможет улучшить совместимость в будущем да и просто вещь интересная. Также я использую исходные тексты MONO, что бы посмотреть как реализовано то или другое, — есть чему поучиться.
Очень интересно! 🙂
А как там с производительностью дела обстоят?
Значительно улучшили. Но работает медленнее чем от Microsoft, по крайней мере пока. Хотя строгих тестов не проводил и не видел.