`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Silverlight 4 – вперед и вверх

Статья опубликована в №46 (712) от 22 декабря

+11
голос

Разработчики из подразделения Silverlight продолжают удивлять своей продуктивностью: спустя всего лишь немногим более четырех месяцев после выхода третьей версии платформы на конференции PDC 09 они уже представили бету четвертой. Обычно реализовать значительное число новых функций в столь короткий срок достаточно проблематично, однако в данном случае список дополнений выглядит весьма внушительно.

Silverlight 4 – вперед и вверх
Visual Studio 2010 при создании проекта позволяет выбрать между третьей и четвертой версиями Silverlight

По меркам программных платформ Silverlight еще не вышла из младенчества – в сентябре исполнилось лишь два года, как увидел свет первый релиз. Пока вряд ли можно говорить, что ей удалось потеснить Adobe Flash, однако, по информации самой Microsoft, ее RIA-платформа уже присутствует на 45% подключенных к Интернету устройств. Также за этот сравнительно короткий период были реализованы некоторые весьма громкие проекты – вроде сайта, освещающего события Пекинской олимпиады в 2008 г. (NBCOlympics.com). Хотя не обошлось и без скандалов – медиагигант New York Times, изначально презентовавший приложение для просмотра своих материалов, построенное на основе WPF и Silverlight, вдруг резко переметнулся на конкурирующую технологию Adobe AIR, разразившись в сторону Silverlight рядом колких замечаний. Тем не менее упорство, с которым специалисты из Редмонда работают над Silverlight, достойно уважения, а скорость развития платформы наводит на мысли о том, как бы не пришлось «перебежчикам» впоследствии кусать локти.

Инструментальные средства

Silverlight 4 ориентирована на использование совместно с также проходящей бета-тестирование Visual Studio 2010, полная поддержка в прежних версиях VS не планируется, хотя сам по себе Silverlight SDK не привязан к какой-либо IDE, т. е. речь идет прежде всего о Silverlight Tools for Visual Studio. В частности, это объясняется изменениями в самой IDE, так, благодаря применению WPF в VS 2010 реализован полнофункциональный визуальный редактор приложений, и в итоге разработчики на Silverlight 4 могут исключить Expression Blend из числа обязательных инструментов. Кроме того, новая IDE позволит создавать решения как для четвертой, так и для третьей версии Silverlight, что дополнительно облегчает и оправдывает будущую миграцию на VS 2010. Впрочем, Expression Blend тоже не забыт – анонсирована его очередная версия, ориентированная на использование с Silverlight 4 и .NET Framework 4, хотя теперь этот инструмент больше позиционируется для дизайнеров.

Возможности пользовательского интерфейса

Особо значимым нововведением четвертой версии RIA-платформы от Microsoft является более тесная интеграция с ОС, в первую очередь, естественно, Windows. Речь идет прежде всего о доступе к буферу обмена, и о полноценной реализации функции drag-and-drop. Также приложения получили возможность обрабатывать все стандартные сигналы от мыши – в том числе от колеса прокрутки и правой кнопки. Хотя контекстное меню и ранее использовалось в приложениях Silverlight, его функциональность была ограничена исключительно возможностями настройки самой платформы. В новой версии можно создавать свои контекстные меню для любых элементов управления подобно тому, как это делается в обычных приложениях. Доступ к веб-камере и микрофону облегчает построение приложений для коммуникаций, при этом платформа сама предупреждает пользователя и запрашивает разрешение на начало трансляции, а специальный API позволяет выбрать необходимое устройство. Поддержка жестов и множественных прикосновений призвана реализовать потенциал multitouch-экранов, расширены возможности анимации, обеспечивается вывод на печать. Последнее нужно подчеркнуть особо, поскольку управление печатью в Silverlight-приложениях теперь практически такое же, как и в полновесной .NET Framework, с поддержкой соответствующего форматирования контента, разбивкой на страницы и пр. Следует также отметить, что общее число поставляемых вместе с Silverlight 4 компонентов (как визуальных, так и нет) теперь превышает шесть десятков, притом многие из старых переработаны и дополнены новой функциональностью.

Трансляция аудио- и видео

Silverlight 4 – вперед и вверх
Пример простого файлового менеджера на Silverlight 4 – работа вне браузера, навигация по структуре папок, операции через контекстное меню, вызов ассоциированных приложений

Поддержка этой функциональности была сильной стороной Silverlight начиная еще с первой версии. Тем не менее разработчики из Microsoft продолжают совершенствовать ее, и в четвертом релизе платформы появилась возможность многоадресных трансляций (multicast) посредством служб Windows Media Services (WMS), поддерживаемых последними версиями Windows Server и IIS. Распространителей коммерческого контента должна заинтересовать технология Offline DRM, реализованная в рамках продвигаемой Microsoft в качестве индустриального стандарта PlayReady. Теперь решения на основе Silverlight получают дополнительные возможности использования защищенного контента, в том числе его локальное сохранение и воспроизведение для обеспечения различных сценариев аренды, подписки и расширенного управления лицензиями. Помимо прочего, поддержка PlayReady в Silverlight 4 в целом значительно улучшена, в частности защита не мешает отображать контент на нескольких устройствах, принадлежащих одному пользователю. Отметим также, что теперь DRM распространяется и на формат MP4.

В качестве бонуса выступает стартовавший незадолго до анонса платформы открытый проект Silverlight Media Framework (smf.codeplex.com), позволяющий создавать полностью настраиваемые проигрыватели. Кроме сугубо визуальных элементов, он обеспечивает интеграцию с технологией IIS Smooth Streaming, впервые использованной на NBCOlympics.com и прекрасно себя зарекомендовавшей под высокой нагрузкой. Библиотека базируется на программном коде нескольких крупных Silverlight-проектов для онлайнового медиавещания.

Для бизнес-приложений

Особое внимание при создании Silverlight 4 уделялось функциям, которые должны заинтересовать разработчиков делового ПО, в частности реализующих корпоративные проекты, требующие защищенного доступа к данным, использования внешних сервисов и интеграции в крупные, возможно, гетерогенные системы.

Первое, на что следует обратить внимание в этом контексте, – унификация промежуточного кода Silverlight с CLR из .NET Framework 4. Помимо доступа к новым возможностям .NET-платформы, это будет крайне полезно в проектах с разделяемым кодом. В них также наверняка окажется востребованной поддержка MEF (Managed Extensibility Framework, codeplex.com/mef) – библиотеки, реализующей механизм связывания данных во время исполнения. Вместе с Silverlight 4 должны увидеть свет и анонсированные весной нынешнего года .NET RIA Services, призванные облегчить разработку с применением многоуровневой архитектуры и с клиентской частью на базе Silverlight/WPF/AJAX. Кроме того, Silverlight 4 предлагает улучшенные механизмы доступа к данным, усовершенствованные элементы управления и контроль ввода.

К усовершенствованиям в области пользовательского интерфейса и печати, к которым особенно чувствительны бизнес-приложения, принадлежит и новый элемент управления RichTextArea, позволяющий отображать и редактировать форматированный текст с возможностью внедрения объектов, например изображений и ссылок, поддержкой пошаговой отмены изменений, многоязычных текстов, гибкой настройкой отображения и управлением содержимым на уровне структурных компонентов. Весьма ценными являются и другие встроенные элементы управления, в частности предназначенные для построения диаграмм и графиков. Благодаря этим новинкам в Silverlight 4 можно стандартными средствами обеспечить полноценную работу с документами.

Silverlight 4 – вперед и вверх
Текстовый редактор на основе элемента RichTextArea – форматированный текст, внедренные объекты, поддержка контекстного меню и вывода на печать

Нельзя обойти вниманием и усовершенствованные сетевые возможности. Так, исходящие запросы автоматически дополняются указанием источника, а появившийся в третьей версии Silverlight собственный стек сетевых протоколов, функционирующий независимо от браузера, теперь поддерживает авторизацию на основе схем NTLM, Basic или Digest. Кстати, упомянутые ранее многоадресные трансляции не ограничиваются исключительно медиаприложениями и могут использоваться для решения любых задач, требующих сетевого взаимодействия в режиме «один ко многим».

Работа вне браузера

Возможность исполнения Silverlight-приложений вне браузера появилась еще во второй версии платформы, а в нынешней она значительно доработана. В первую очередь следует отметить весьма интересную функцию рендеринга HTML внутри Silverlight-приложений, вплоть до отображения дополнительного контента вроде Flash-роликов. Были также расширены средства управления самим окном приложения с помощью API Windows Positioning/Size. Еще одно новшество, пусть и не столь значительное, но достойное упоминания – возможность показывать всплывающие уведомления, схожие с теми, которые выводит Microsoft Outlook при получении писем.

Самые серьезные нововведения в этой сфере, очевидно, вызваны нескрываемым стремлением разработчиков платформы укрепить ее позиции в конкурентной борьбе с Adobe AIR. Теперь Silverlight-приложения, исполняемые вне браузера, делятся на две группы в зависимости от режима работы: sandboxed (традиционные, с ограниченными правами) и trusted (доверенные, с широким доступом к локальному компьютеру). Первый тип поддерживался всеми прежними версиями платформы, а вот второй – совершенно новый. Помимо всех возможностей sandboxed-приложений, доверенные могут читать и сохранять пользовательские файлы (как под Windows, так и под другими платформами, в том числе Mac OS X), работать с COM-объектами и другими локальными приложениями, обращаться к периферии и клавиатуре, управляться групповыми политиками Active Directory и использовать кросс-доменное сетевое взаимодействия. В случае необходимости платформа запрашивает разрешение на выполнение действий, требующих особых привилегий. Учитывая, что Adobe предлагает фактически две, пусть и близкие, но все-таки различные платформы: Flash для Веба и AIR для настольных решений, универсальная Silverlight в этом отношении выглядит привлекательнее.

Под капотом

Разумеется, множество усовершенствований реализовано и «под капотом» – обычному пользователю они видны, но улучшают платформу в целом. В первую очередь это касается дополнительных удобств для разработчиков: возможности считывания номера версии платформы, расширения списка свойств и методов, оптимизации внутренних интерфейсов, увеличения числа обрабатываемых событий, ошибок и пр. Важно, что многие из подобных нововведений реализованы в ответ на отзывы и замечания клиентов. Это как раз тот случай, когда обострившаяся конкуренция между создателями платформ на руку и разработчикам, и конечным пользователям. В качестве особых достижений также называется ускоренный старт Silverlight-приложений (как утверждается, время ожидания уменьшилось троекратно, а достигнуто это в первую очередь за счет перекомпиляции кода самой Silverlight 4 с использованием CLR Native Image Generator). Кроме того, в число официально поддерживаемых браузеров попал и Google Chrome.

Заключение

Как было отмечено в начале, темпы развития Silverlight впечатляют, а ряд нововведений четвертой версии выглядит весьма интересно и многообещающе, хотя на общем фоне вполне четко прослеживается стремление утереть нос Adobe AIR. Впрочем, о прямом заимствовании идей конкурента речь, конечно, не идет: в реализации многих аспектов Microsoft избрала собственный путь, и это не может не радовать, поскольку таким образом расширяются возможности выбора у сторонних разработчиков. Помимо прочего, учитывая всеобщую тенденцию к «облакоцентризму», Silverlight как платформа для создания приложений (при условии надлежащей поддержки со стороны Microsoft) может вырасти из просто «плагина для браузера» в самодостаточную кросс-платформенную среду исполнения, способную составить конкуренцию не только Adobe Flash/AIR, но и полноценным операционным системам, ориентированным на сеть, вроде Google Chrome OS. О том, что такой сценарий вполне вероятен, говорит хотя бы недавнее сообщение Google о прекращении развития проекта Gears, которому прочили роль серьезного соперника Adobe AIR и Microsoft Silverlight – похоже, настоящая борьба будет происходить именно на уровне интегрированных платформ.

Еще один важный момент, который нельзя не упомянуть после знакомства с очередной версией RIA-платформы от Microsoft, – особое внимание к функциям, ориентированным на бизнес-приложения. В этом просматривается весьма удачная долгосрочная стратегия: веб-решения в корпоративном сегменте, что называется, «окопались» всерьез и надолго, но ограничения традиционной модели разработки для браузеров, проблемы с их совместимостью и прочие нюансы уже стали притчей во языцех. В то же время Silverlight, сохраняя и возможность исполнения под управлением браузеров, и кросс-платформенность, позволяет избавиться от многих подобных недостатков, что дает основания говорить о применимости этой платформы не только для приложений развлекательно-медийного характера, но и серьезных решений для бизнеса. Возможно, тем, кто подыскивает альтернативу традиционной веб-разработке, стоит обратить самое пристальное внимание именно на Silverlight 4.

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+11
голос

Напечатать Отправить другу

Читайте также

А есть ли ссылка на причины, по которым Times остался недоволен Silverlight? Их читалка на сильверлайте оставила довольно приятное впечатление.

Наверное они не успевали за разработчиками Silverlight ;)

Велосипед.

От Майкрософта. Мертворожденный велосипед. Обреченный на провал.
Что то я не очень понял, как Silverlight будет пахать на тех мобилках, где уже резвится Adobe (Macromedia) Flash?

Просто MS в свое время позорно прошляпили возможность купить Macromedia (за какие-то копейки по сути), таким образом больно наказать Adobe (с его гавняненьким Photoshop), Netscape/Mozilla (через Dreamweaver) и подмять под себя Flash (в отместку Sun за Java).

А теперь как подорванные клепают платформы NET. Особенно отличается версия 3.5. В некоторых случаях просто гробит свободные ресурсы системы.

JavaFX - наше всё. только бы оракл не похоронил эту платформу.

В то же время Silverlight, сохраняя и возможность исполнения под управлением браузеров, и кросс-платформенность...

о какой кроссплатформенности речь ? насколько я понимаю, здесь речь идёт как раз о попытке убить в вебе кроссплатформенность, проталкивая закрытый формат только под те платформы, которые не конкурируют с M$.

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT