Не секрет, что первая версия Silverlight в кругах разработчиков была встречена с немалой долей скепсиса: лидерство Flash казалось безоговорочным, а самые интересные функции, обещанные Microsoft, так и не были реализованы. Однако спустя немногим более года свет увидела вторая версия этой технологии, и хотя предшественница все же смогла завоевать определенную популярность, все-таки именно Silverlight 2 обладает долгожданными возможностями, и, вероятно, именно с нее следует отсчитывать начало настоящей борьбы с конкурентами.
![]() |
NBCOlympics.com – медиапортал с впечатляющими показателями посещаемости, наиболее наглядная демонстрация потенциала технологии Silverlight |
Silverlight – технология, выпущенная Microsoft в качестве конкурента Adobe Flash, является достаточно молодой даже по меркам ИT-индустрии: со времени релиза первой версии прошло чуть больше года. Тем не менее, по утверждениям самой Microsoft (которые, впрочем, непросто проверить), в настоящее время на каждом четвертом сетевом компьютере установлен подключаемый модуль с поддержкой Silverlight. Как наиболее успешный пример применения данной технологии приводится сайт, освещающий события Пекинской олимпиады, созданный компанией NBC Universal, – на нем было зафиксировано свыше 50 млн уникальных посетителей, открывших более 1,3 млрд страниц, общая длительность просмотренного потокового видео на базе Silverlight превысила 10 млн часов, а такой немаловажный показатель, как средняя продолжительность пребывания на сайте, приблизился к 27 мин. Конечно, все эти цифры пока еще не позволяют говорить о том, что популярность Silverlight хотя бы сравнима с Flash (распространенность которой экспертами оценивается во впечатляющие 98%), однако вполне очевидно, что технология весьма активно набирает обороты.
Итак, в октябре нынешнего года Microsoft заявила о выпуске Silverlight 2.0, которая ранее анонсировалась под номером 1.1, но впоследствии была выделена в отдельную «мажорную» версию из-за большого объема нововведений. Напомним, что самой неоднозначной особенностью Silverlight 1.0 было отсутствие поддержки .NET Framework, о которой заявляли руководители корпорации еще во время первого публичного представления данной технологии под названием Windows Presentation Foundation/Everywhere (WPF/E) на конференции PDC в уже относительно далеком 2005 г.. Это очень принципиальный момент, поскольку именно на базе .NET предполагалось обеспечить кросс-платформенную разработку для Silverlight. В Silverlight 2.0 такая поддержка наконец-то реализована.
Технологии
На нынешнем этапе Silverlight 2.0 все так же представлена в виде подключаемого модуля (доступного на сайте silverlight.net) размером 4,7 МБ для браузеров Internet Explorer, Firefox, Safari, выполняющихся на платформах Windows и Mac OS. Формально модуль также функционирует в Opera и Chrome, однако официально они не поддерживаются. Для ОС Linux существует отдельный проект Moonlight (ko-online.com.ua/39813), в настоящее время предоставляющий возможности только Silverlight 1.0. Кроме того, сфера применения Silverlight не ограничивается настольными платформами – сейчас она уже охватывает Windows Mobile, а в скором времени, благодаря сотрудничеству с Nokia, распространится и на Symbian.
Поддержка .NET реализована за счет того, что Silverlight 2.0 содержит свою собственную среду исполнения CLR (Common Language Runtime), приближенную к «настольному» варианту .NET Framework 3.0. C одной стороны, это подразумевает отсутствие принципиальных отличий при разработке Silverlight- и .NET-приложений, скажем в выборе языка. Но с другой – в Silverlight 2.0 доступна лишь сравнительно небольшая часть библиотеки классов .NET Framework (в основном лишь наиболее важные составляющие пространства имен System) – это сделано в угоду компактности и кросс-платформенности. Так или иначе, но существующую программу для настольной платформы скорее всего не удастся просто перекомпилировать для Silverlight, наверняка потребуется адаптация, по крайней мере, в части исключения специфики для Windows. В то же время некоторые весьма интересные возможности, появившиеся только в .NET 3.5 (вроде LINQ), уже есть в Silverlight 2.0.
Стоит также отметить, что и в Silverlight 2.0 присутствуют некоторые классы, которых нет в настольной версии .NET. Например, пространство имен System.Windows.Browser является уникальным и предназначено для обеспечения взаимодействия Silverlight-приложений с браузером, выполняющим роль хоста. Разумеется, разработчик вправе включать дополнительные библиотеки классов в свои приложения и распространять их вместе с ними, а некоторые из них уже доступны в составе свободно распространяемого SDK.
Среди других нововведений Silverlight 2.0 следует отметить существенно усовершенствованные возможности для построения интерфейсов, в частности появление новых элементов управления – DataGrid, ListBox, Slider, ScrollViewer, Calendar (общее их число уже составляет три десятка), а также поддержку сменных оформлений и шаблонов. В данном направлении Silverlight 2.0 приблизилась к технологии WPF, что, учитывая общие язык для описания интерфейсов XAML и графические инструменты их разработки на основе Expression Studio, позволяет в значительной степени унифицировать работу.
Среди наиболее впечатляющих визуальных возможностей Silverlight 2.0 следует выделить поддержку DeepZoom – технологии, которая позволяет просматривать в браузере изображения в гигантских разрешениях, занимающих в оригинале сотни мегабайтов. Например, на популярном сайте Hard Rock Cafe с применением этой технологии реализован раздел Memorabilia, в котором на одном громадном полотне размещены изображения нескольких сотен памятных предметов, писем и документов от знаменитостей. С помощью DeepZoom это полотно можно рассматривать, изучая каждый объект в мельчайших деталях, вплоть до царапин на гитарах или штемпелей на марках писем.
Silverlight 2.0 также обеспечивает расширенную поддержку сетевых технологий, в частности REST, WS*/SOAP, POX, RSS и стандартных HTTP-сервисов, что позволяет создавать приложения, которые могут быть тесно интегрированы с серверными решениями. Среди ограничений сетевой функциональности платформы отметим лишь невозможность обрабатывать входящие соединения, что сделано в целях обеспечения безопасности.
Для издателей мультимедийного контента будут интересны улучшения в области трансляции потокового видео, защиты материалов и внедрения рекламных блоков. Производители же процессоров могут быть довольны тем, что Silverlight 2.0 утилизирует ресурсы многоядерных CPU.
Разработка для Silverlight 2
![]() |
eclipse4SL – полноценная открытая кросс-платформенная IDE для Silverlight на основе Eclipse |
В качестве основного инструмента для Silverlight 2.0 выступает, естественно, среда Visual Studio 2008, для которой доступно расширение Silverlight Tools, включающее отладочную среду исполнения, шаблоны проектов, генераторы кода и поддержку IntelliSense, режим предварительного просмотра XAML-кода, интеграцию с Expression Blend и даже удаленную отладку для Mac OS, а также примеры и документацию. Примечательно, что данное расширение подходит не только к коммерческим редакциям Visual Studio, но и к бесплатной Visual Web Developer 2008 Express.
Помимо прочего, объявляя о выходе Silverlight 2.0, Microsoft удивила общественность заявлением об активных работах над соответствующим инструментальным расширением для популярной кросс-платформенной IDE Eclipse. Роль непосредственного исполнителя при этом выполняет французская компания Soyatec, входящая в состав Eclipse Foundation и известная своим участием в работе над этой открытой IDE. Проект eclipse4SL позволит создавать Silverlight-проекты, полностью совместимые с проектами Visual Studio, и обеспечит многие возможности, характерные для IDE от самой Microsoft, оставшись при этом настоящим не только кросс-платформенным, но и Open Source решением.
При желании разработчику можно обойтись и без IDE – набор всех необходимых компонентов для сборки Silverlight-приложения доступен в составе SDK, который можно загрузить и установить независимо от Silverlight Tools. К тому же элементы управления Silverlight вынесены в отдельный Open Source проект, размещенный на сайте CodePlex.com, а некоторые спецификации технологии, в частности языка XAML, доступны в рамках инициативы Microsoft Open Specification Promise – это может заинтересовать компании, рассматривающие возможность создания своих дополнительных элементов управления или даже собственной IDE для Silverlight.
Если говорить о поддерживаемых языках программирования, то помимо JavaScript, доступного в первой версии, и традиционных языков .NET Framework, таких как C# и Visual Basic, в Silverlight 2.0 также могут применяться IronRuby и IronPython, что позволяет рассматривать ее как полноценную многоязыковую платформу, обеспечивающую в этом отношении те же преимущества, что и .NET Framework. Реализация управляемого JavaScript автоматически компилируется перед непосредственным исполнением, что, по утверждениям Microsoft, позволяет программному коду исполняться в 250 раз быстрее по сравнению с традиционной интерпретацией в браузере.
Для создания графических элементов Silverlight-приложений Microsoft предлагает Expression Studio 2, разработка интерфейса из готовых элементов управления возложена на входящее в этот пакет приложение Expression Blend, обновленная версия которого увидела свет одновременно с выходом Silverlight 2.0.
Примеры решений
![]() |
FireLocator.net – сервис для поиска лесных пожаров, реализованный на технологиях Silverlight 2.0 и Microsoft Virtual Earth, позволяет загружать контекстные фотографии c Flickr |
К моменту выхода Silverlight 2.0 достаточно большое число сайтов уже поддерживали данную технологию, поскольку пригодная к использованию бета-версия была доступна продолжительное время. Помимо упомянутых Hard Rock Cafe и NBCOlympics.com, следует отметить сайт FireLocator.net, разработанный Pitney Bowes и предназначенный для поиска лесных пожаров. Но особой популярностью Silverlight пользуется у компаний, работающих с медиаданными, например, проект MyShowRoom.tv позволяет создавать и транслировать собственные видеошоу. Заинтересовала технология также разработчиков компьютерных игр, и, что похвально, не только из дальнего зарубежья. Примерами могут служить bibigosha.ru от TVX-Media и Alien Love Ship от KOAN Games.
Предсказуемо, что немаловажную роль в популяризации технологии сыграла сама Microsoft – даже если не принимать во внимание вполне ожидаемый перевод потокового видео на сайтах компании с Flash на Silverlight, то в числе наиболее интересных примеров можно назвать обновленный Microsoft Download Center, а также реализацию рабочего стола Windows Live Mesh.
На последнем следует остановиться подробнее: хотя фактически в этом случае Silverlight-приложения будут исполняться на локальном компьютере, данные, которые они используют, могут быть синхронизованы посредством Live Mesh с удаленным хранилищем и любым другим устройством, подключенным к соответствующей учетной записи. Таким образом, служба синхронизации отвечает за то, чтобы приложения работали с одними и теми же данными независимо от того, на каком именно устройстве они исполняются физически. Технически реализация такой возможности потребовала использования недавно анонсированной Microsoft Windows Azure (API разработки для Live Mesh выступает в качестве ее составных сервисов), а также реализации еще одной интересной возможности – поддержки исполнения Silverlight-приложений на рабочем столе Windows-ПК, в том числе и при отсутствии подключение к Сети – все это выводит Silverlight 2.0 в прямые конкуренты не только Flash, но и платформам AIR (ko-online.com.ua/35018) и Google Gears.
Заключение
Не успела выйти вторая версия Silverlight, как уже начались разговоры о ее преемнике. Пока что о Silverlight 3 известно мало: ожидается, что увеличится число поддерживаемых браузеров и платформ, а также воспроизводимых медиаформатов, планируется дальнейшее совершенствование средств разработки и возможностей интеграции с различными продуктами и сервисами. Но очень вероятно, что Microsoft не намерена сбавлять темп, и очередная версия не заставит себя долго ждать.
В целом же, на примере Silverlight мы видим, как редмондская корпорация, используя свои неисчерпаемые возможности, энергично выходит на рынок, который вовсе нельзя назвать свободным от конкурентов, и без лишних церемоний просит их «потесниться». Внешне это может выглядеть достаточно прозаично, но за кадром остается титанический труд разработчиков, интенсивная работа с партнерами, активная маркетинговая деятельность и готовность преодолевать препятствия. Скотт Гатри (Scott Guthrie), корпоративный вице-президент Microsoft и руководитель проекта Silverlight, в одном из интервью признался, что создание сайта NBCOlympics.com было настоящим вызовом для его команды и самой технологии. За право онлайн-трансляции олимпиады компания NBC Universal заплатила 1 млрд долл., и реализация этого проекта на основе технологии Silverlight была бы хорошей возможностью продемонстрировать ее потенциал. Однако ко времени начала работ над сайтом не было ни одного реализованного проекта с сопоставимой нагрузкой. Поэтому, хотя созданием сайта занималась команда разработчиков компании NBC Universal, специалисты из Microsoft обеспечили им всемерную поддержку и все необходимые консультации.
Конечно, для кого-то Silverlight – всего лишь еще один подключаемый модуль для популярных браузеров, но для ИT-индустрии в целом это настоящий глоток свежего воздуха и оживление в несколько застоявшемся сегменте рынка. И хотя в конкурентной борьбе бывают проигравшие и победители, в конечном итоге всегда выигрывает потребитель, поскольку ничто так не стимулирует инновации, как повышенная активность соперников.
Сайт автора: koldovsky.com
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: