.Net как кросс-платформенное решение

Posted on января 6, 2009
Filed Under Microsoft, Open Source, Разное

Когда то давно я был разработчиком и активно писал код. Основным инструментом был Delphi (уж очень он у нас в России популярен был да и есть наверное). И вот как то встал у нас вопрос о выборе платформы для дальнейшего развития решений. Не суть на чем остановились, но выбирали между .Net и Java. Было это почти 2 года назад и тогда я написал вот такие плюсы и минусы каждой из платформ:

JAVA

Плюсы:

  1. Более менее переносимо между платформами
  2. Бесплатность (но енто не существенно) и платформы и технологий вокруг нее.
  3. Нет завязки на одного поставщика

Минусы:

  1. Вопрос по производительности. Можно ли писать нормальные настольные приложения — для меня вопрос
  2. Интеграция с Виндами ясно меньше чем у .Net

.Net

Плюсы:

  1. Глубокая интеграция со всеми продуктами (ОС, Офис, Серверы, Средства разработки, …) MS. Отсюда значительная синергия.
  2. Активное развитие в последнее время.

Минусы:

  1. Полная зависимость от 1-го поставщика
  2. Не переносимо между платформами
  3. Технологии вокруг практически всегда платные.

Сегодня все это выглядит немного “наивно”, но хочу написать об одном из минусов .Net – “Не переносимо между платформами”. На тот момент проект Mono уже существовал, но если честно был он какой то не “серьезный”. А не так давно я заглянул на него и увидел существенные изменения.

23 октября 2008 вышла версия 2.0.1 Mono. Вот что есть:

Multi-Platform
Runs on Linux, OS X, BSD, and Microsoft Windows, including x86, x86-64, ARM, s390, PowerPC and much more
Multi-Language
Develop in C# 3.0 (including LINQ), VB 8, Java, Python, Ruby (http://www.ironruby.net/), Eiffel (http://www.eiffel.com/), F# (http://research.microsoft.com/fsharp/), Oxygene (http://remobjects.com/oxygene), and more
Binary Compatible
Built on an implementation of the ECMA‘s Common Language Infrastructure and C#
Microsoft Compatible API
Run ASP.NET, ADO.NET, and Windows.Forms 2.0 applications without recompilation
Open Source, Free Software
Mono’s runtime, compilers, and libraries are distributed under OSI approved licenses and are available for dual-licensing
Comprehensive Technology Coverage
Bindings and managed implementations of many popular libraries and protocols

О дальнейших планах развития можно почитать вот тут, но после того, как Novell стал одним из спонсоров проекта (и зная отношения Microsoft и Novell) я верю в достаточно быстрое развитие проекта.

Вот что кстати у них на сайте написано про сотрудничество с MS:

Is Microsoft helping Novell with this project?

Until September of 2007 there was no no high level communication between Novell and Microsoft, but engineers who work on .NET or the ECMA groups have been very friendly, and very nice to answer our questions, or clarify part of the specification for us.

In September 2007 an agreement between Microsoft and Novell opened the doors to collaboration specifically on the implementation of open source implementations of Silverlight 1.0 and Silverlight 2.0.

Silverlight 2.0 contains a subset of the virtual execution engine, and a subset of the class libraries that are designed to write rich web applications.

Microsoft is interested in other implementations of .NET and are willing to help make the ECMA spec more accurate for this purpose. Novell participates in the ECMA committee meetings for C# and the CLI.

Кстати, есть еще и свободный IDE — MonoDevelop is a free GNOME IDE primarily designed for C# and other .NET languages, но думаю проще использовать VS Express.

2 декабря 2008 вышел MoonLight 1.0 beta 1 – кросс-платформенная реализация Silverlight. По роудмапу должны к 20 января 2009 года выпустить релиз и появится кросс-платформенная (Moonlight дает нам Linux, a Windows и Mac есть уже сейчас) реализация Silverlight 1.0. 2.0 обещают к сентябрю 2009.

PS: А вспомнилось все это довольно странным образом :) Получил рассылку от Interface со статьей — Embarcadero анонсировала систему Delphi Prism – новое решение для разработчиков. Поддерживается в том числе разработка для Mono. Было бы время обязательно бы попробовал посмотреть все это в действии. По прежнему очень интересует вопрос производительности данных решений…

Comments

Leave a Reply




 

Spam Protection by WP-SpamFree