- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF117:Что за штука...
Материал из Linuxformat.
Что за штука… Moonlight?
- Мало было Microsoft .NET на Linux – а ну как это сочетание просочится в браузер? Отвечать будет Пол Хадсон.
- О .NET много говорят, но никто не хвалит. А ещё этот парень, Мигель де Икаса — я думаю, он продался Microsoft!
Э-э… похоже, вы ошиблись журналом. Troll Format полкой выше, справа.
- Толстый намёк на мою предубеждённость?
Да, если хотите. Я считаю, что к беседе нужно подходить непредвзято, и делать собственные выводы, только полностью оценив ситуацию…
- …или оставаться при своём мнении. И всё-таки расскажите мне, что такое Moonlight.
Тогда начнём с истории Mono…
- О нет, только не с царя Гороха!
...Microsoft .NET создавали с той же целью, что и Java: код, написанный однажды, должен одинаково работать везде. Проект Mono затевался для портирования .NET на системы, отличные от Windows, и применения этой технологии на x86, SPARC, PowerPC, ARM и др.
- Но это же Microsoft! Я думал, мы обязаны его порицать и писать это название через символ доллара.
О да, лучший способ оттенить достоинства свободного ПО – это написать Micro$haft и глупо хихикать. Забудем на секунду, кто придумал .NET, оставим главное: это необыкновенно полезная технология, она работает на многих платформах и, благодаря Mono, теперь полностью свободна.
- А вдруг Microsoft подаст в суд?
Можете не сомневаться, Fedora, Ubuntu и другие известные дистрибутивы подумали об этом. То есть, не дистрибутивы, конечно, а люди, которые их делают! А ведь Mono теперь включают во все новые версии. Фактически Mono настолько повзрослел, что поговаривают о возможной разработке Gnome на его основе в будущем.
- Хм, вы-таки не ответили на мой вопрос. Попробую опять: а вдруг Microsoft подаст в суд?
Ну, многое в .NET стандартизовано и по ECMA, и по ISO, и стандартизованные разделы волен воплощать каждый. Многое стандартизации не подвергалось, но Mono, независимо от этого, пытается освоить всё, что может.
- Последний раз спрашиваю: а вдруг…
ОК, ОК! Скажу прямо: никто не знает, как поступит Microsoft. Может подать в суд, а может и не подать. Если подаст – мало не покажется. Но Microsoft в прямой форме предоставила SUSE/Novell право на самостоятельную реализацию .NET. Как я уже упоминал, крупные куски кода можно воплощать свободно, крупные дистрибутивы вовсю используют их, и пока все довольны.
- Справедливо. и всё-таки непонятно, с чего это Microsoft так подобрела…
Вот мы и добрались до Moonlight. Подобно тому, как Mono – свободный аналог .NET, Moonlight – это свободный аналог Microsoft Silverlight.
- А Silverlight — это…?
Ну, Microsoft традиционно отстает онлайн. Благодаря сайтам типа YouTube и надоедливой рекламе, Flash теперь стандарт де-факто для воспроизведения богатого мультимедиа-контента Сети. Владеет Flash не Microsoft, а Adobe, что, вероятно, не по нутру Стиву Балмеру [Steve Ballmer].
- Не могу понять, куда вы клоните.
Silverlight – это попытка Microsoft вырастить соперника Flash, обладающего серьёзными преимуществами. Причём делается это как раз на основе .NET. А это значит, что с рождением Silverlight у программистов появился гораздо более широкий простор для творчества, чем было с Flash. А теперь встаньте на место Microsoft: желая преодолеть гегемонию Flash, разве вы не поддержали бы усилия по развитию собственной технологии в этой сфере (пусть и со стороны открытого ПО)?
- Не хотите ли вы сказать что Microsoft поддерживает Moonlight?
Да-с! Linux привлек немало внимания как раз благодаря Moonlight. Например, недавняя инаугурация Барака Обамы в США транслировалась в прямом эфире с помощью Silverlight, со ссылкой, по которой можно было переключиться на просмотр с помощью Moonlight на Linux. И эту ссылку видели миллионы людей. Что касается Microsoft, то Moonlight – это способ продвинуть Silverlight за пределы Windows и Mac.
- Выходит, можно войти на любой сайт с Silverlight и просматривать его с помощью Moonlight?
Не совсем. Microsoft обычно очень быстро обновляет рабочий API. Например, версии .NET 1.0, 2.0, 3.0 и 3.5 вышли за какието семь лет. Чтобы успеть за таким темпом развития версий .NET, Mono приходится постоянно играть в догонялки.
- А мне-то какое дело до Mono? Мне нужен Silverlight.
Потому что разработка Silverlight тоже развивается стремительно. Silverlight 1.0 появился в апреле 2007 г, Silverlight 2.0 уже вышел (со множеством дополнительных функций), а о разработке Silverlight 3.0 было официально объявлено шесть месяцев назад.
- Как же парни из Mono успевают угнаться?
Да вот не успевают, потому и нельзя запросто войти на любой сайт Silverlight и работать. Прототип Moonlight появился в результате 21-дневного мозгового штурма программистов Mono. Теперь Moonlight надёжно поддерживает Silverlight 1.0, но работа над версией 2.0 всё ещё продолжается.
- Неужели у Silverlight 2.0 так много новых функций?
Новые функции есть, но дело не в этом. Просто Silverlight 2.0 можно рассматривать как Silverlight 1.0, обогащённый функциональностью .NET 3.0. Для программистов Microsoft это просто, они же сами писали код .NET 3.0. Парням из Mono гораздо сложнее, они всё делают с чистого листа.
- Но ведь они всё равно своего добьются, рано или поздно?
Верно – большая часть функциональности общая для Silverlight и .NET 3.0, а значит, код, написанный для Moonlight, идёт на пользу всему проекту Mono. Разработка Moonlight не истощает, а обогащает сам Mono.
- Вы думаете, поддержка Silverlight 3.0 в обозримом будущем возможна?
Трудно предугадать. Проблема в том, что в Silverlight 3.0 собираются применить аппаратное 3D-ускорение. И снова, для Microsoft в этом никаких проблем, всё уже заложено в .NET 3.0. Программистам Mono придётся писать весь 3D-ярус «с нуля».
- Ого! Худо дело. А разве нельзя взять 3D-код из проекта Wine?
Пробовали, когда пытались реализовать систему пользовательского интерфейса Windows Forms, но получалось плохо. Большую часть интерфейса Silverlight 2.0 ребята разработали самостоятельно, поэтому, скорее всего, 3D им тоже придётся писать самим.
- Ой, а который час? Мне пора идти! Один вопросик напоследок…
Слушаю вас.
- А вдруг Microsoft подаст в суд?
Р-р-р-рр…
- Шутка. Не могли бы вы дать мне несколько URL, для сведения?
Так-то лучше. Официальная домашняя страница Silverlight находится на http://silverlight.NET, аналог для Moonlight – на http://www.mono-project.com/Moonlight. Если хотите прямо сейчас загрузить и установить Moonlight, то вам сюда: http://www.go-mono.com/moonlight. Домашняя страница проекта Mono – http://www.mono-project.com, но интереснее будет почитать объединённые блоги разработчиков Mono на http://www.go-mono.com/monologue. LXF