ПЛАТФОРМЫ

Будущее платформы разработки .Net Framework корпорации Microsoft по-прежнему остается неясным, но уже сейчас можно с уверенностью сказать, что возможность выполнения .Net-программ под управлением ОС Unix сыграет определяющую роль в достижении конечного успеха.

Вот почему организациям, занимающимся тестированием .Net-кода, следует внимательно наблюдать за успехами Mono - независимой open-source-реализации .Net Framework. Проект Mono (www.go-mono.com) вышел недавно на важный рубеж: компилятор C# (сам написанный на C#) впервые успешно скомпилировал сам себя на платформе Linux.

Мигель де Иказа

Для разработки, начатой лишь прошлым летом, проект Mono достиг уже весьма значительных успехов. “К настоящему моменту у нас в основном готовы версия компилятора, отвечающая стандарту ECMA [European Computer Manufacturers Association - Европейская ассоциация производителей компьютеров], и среда исполнения кода”, - заявил основатель проекта Mono и главный технический директор фирмы Ximian (Бостон, шт. Массачусетс) Мигель де Иказа.

В Mono пока нет ряда важнейших компонентов .Net, не охваченных стандартами ECMA: библиотек WinForms, Active Server Pages .Net и ActiveX Data Objects .Net - все они находятся в настоящее время в разработке.

На сегодняшний день Mono функционирует на платформе X86/Windows, а также на машинах с процессорами X86 и PowerPC под управлением ОС Linux. Ведутся работы по переносу на аппаратные платформы StrongARM и SPARC. Планируется также поддержка Mac OS X.

Проведенные в Тестовом центре eWeek Labs испытания опубликованной весной предварительной версии Mono 0.10 подтвердили возможность генерации Mono на Linux-системе и исполнения ряда несложных программных тестов, написанных на C#. Мы пользовались как .Net-интерпретатором, так и компилятором времени исполнения JIT (just-in-time). В последнем случае тестовые программы работали в 2-10 раз быстрее (что позволяет судить о выигрыше в скорости исполнения за счет применения JIT-компилятора).

Подобно Java-программам, .Net-приложения состоят из байт-кода, формат которого не зависит от конкретных вычислительных архитектур. Это позволило нам просто копировать несложные программки, скомпилированные в среде Windows с использованием инструментария Microsoft, на Linux-системы и запускать их на исполнение без каких-либо модификаций. Такая универсальность открывает огромные перспективы для экономии.

Кроме того, разработчики Mono предусмотрели возможность комбинирования .Net-кода с обычными, платформно-зависимыми компонентами, что позволяет максимально широко использовать имеющиеся приложения.

“Вам не придется переписывать старые программы целиком, как это необходимо делать в случае Java, - уверяет Иказа. - В мире .Net разрешено пользоваться старым кодом, ничего в нем не меняя и свободно дополняя его по мере надобности .Net-расширениями”.

Он также сообщил, что последующие версии почтового клиента Evolution производства Ximian будут включать фрагменты .Net-кода, исполняемые с помощью Mono.

Корпорация Microsoft разрабатывает собственный продукт аналогичного назначения Unix .Net (появление бета-версии ожидается в первой половине текущего года). Однако его коммерческое использование - по условиям предлагаемой Microsoft лицензии Shared Source - запрещено. В противоположность этому исполняющая система Mono распространяется при условии наличия лицензии GNU Lesser GPL (General Public License), допускающей коммерческое использование или включение в состав программных продуктов независимых разработчиков без обязательного опубликования исходного кода таких продуктов. Реально складывается ситуация, при которой большинству организаций, заинтересованных в исполнении .Net-приложений в среде Unix, без Mono будет не обойтись.

Одновременно разрабатывается и еще одна альтернативная реализация - .Net Framework: DotGNU Portable.Net (см. www.eweek.com/links). Но она не пользуется такой поддержкой в корпоративном мире, как Mono. Portable.Net будет распространяться на условиях лицензии GNU GPL, предусматривающей обязательное распространение всех программ, использующих библиотеки Portable.Net, на тех же самых условиях, т. е. с опубликованием исходных текстов.

С техническим директором офиса eWeek на Западном побережье Тимоти Диком можно связаться по адресу: timothy_dyck@ziffdavis.com.