Microsoft Silverlight

Материал из Википедии — свободной энциклопедии
Silverlight
Логотип программы Silverlight
Тип фреймворк приложения[вд] и компьютерная платформа[вд]
Разработчик
Microsoft Corporation
Написана на Комбинация C++ и C#
Операционные системы
Symbian
(9.4)
Первый выпуск 5 сентября 2007
Последняя версия 5.1.50918.0 (15 января 2019)
Состояние Не актуальное (поддержка прекращена 12 октября 2021 года)
Лицензия MS EULA, с компонентами MS-PL
Сайт microsoft.com/silverlight
Логотип Викисклада Медиафайлы на Викискладе

Microsoft Silverlight — программная платформа для написания и запуска многофункциональных

IDE
.

Silverlight была реализована для

Windows Phone 7[6] и являлась одной из двух программных платформ для этой ОС, однако не поддерживается в мобильной версии браузера Internet Explorer, ни в Windows Phone, ни в Windows Mobile. Поскольку Microsoft Edge не поддерживает плагины, то он не поддерживает и Silverlight[7]
.

В 2012 году Microsoft назначила конец жизненного цикла Silverlight 5 на 12 октября 2021 года[8]. В 2013 году Microsoft объявила, что они прекратили развитие Silverlight, за исключением выпуска исправлений ошибок. Silverlight более не поддерживается в браузерах Opera, Mozilla Firefox, Google Chrome, так как в 2015 году в этих браузерах была отключена по умолчанию[9] или полностью прекращена[10] поддержка плагинов формата NPAPI.

Обзор

Silverlight представляет собой графическую систему, схожую с

Windows Sidebar в Windows Vista[11]
.

Silverlight может воспроизводить

динамические языки программирования такие как Iron Ruby и Iron Python, которые, в свою очередь, исполняются в DLR (Dynamic Language Runtime), а не CLR (Common Language Runtime
).

История

Разработка Silverlight велась путём последовательного добавления функциональности в каждой новой версии. Так, Silverlight 4 представлял собой надмножество над Silverlight 3, а та в свою очередь являлась надмножеством над Silverlight 2. Код для данной платформы не обладает полной совместимостью между версиями, главным образом из-за вынужденного применения программистами различных обходных путей при отсутствии какой-либо встроенной функциональности. Причём добавление такой функциональности в последующей версии весьма негативно может повлиять на корректную работу примененной ранее «хитрости», из-за чего такой код как правило приходится переписывать.

В некоторых довольно редких случаях интерфейс какой-либо функциональности может измениться из-за реализации нового, более удачного решения. Тем не менее, подобные резкие изменения довольно редки и перенос кода на новую версию платформы происходил довольно безболезненно.

Разработка Silverlight велась под кодовым названием WPF/E (сокращённо от Windows Presentation Foundation Everywhere), что являлось отсылкой к технологии Windows Presentation Foundation. Однако, название было вскоре изменено на более звучное Silverlight[15].

Silverlight 1.0 Beta

Первая

бета-версия Silverlight была выпущена в декабре 2006 года. Microsoft рассчитывала выпустить стабильную версию в середине 2007 года. Ходили слухи, что в Microsoft планируется частичное открытие исходного кода Silverlight[16], однако, они были опровергнуты Сэмом Рамджи (Sam Ramji), директором Microsoft по стратегии технологической платформы[17]. Тем не менее часть Dynamic Language Runtime, включённая в Silverlight, доступна на портале Microsoft для хостинга открытых и проприетарных проектов CodePlex под Apache 2
.

Silverlight 1.0

Архитектура Silverlight 1.0 приложения

Первая версия Silverlight, выпущенная в мае 2007 года, была далека от завершения и фактически не поддерживала .NET-код совсем. Вся основная разработка велась на языке JavaScript, а также присутствовала поддержка небольшого подмножества языка XAML, использовавшегося для описания интерфейса приложений для Silverlight.

Главной задачей Silverlight 1.0 было быстрое создание основы установки

приложения, вызывавших срабатывание JavaScript-кода. Например, некоторые видеопроигрыватели, полностью написанные под данную версию без применения .NET-кода, были доступны в Интернете и в 2010 году[15]
.

По сути, Silverlight 1.0 являлся подключаемым модулем браузера для обработки

WMA и MP3. Он представлял браузеру внутреннюю модель DOM, управляемую из JavaScript-кода. Язык XAML основан на XML — поэтому документ определявший загружаемый клиенту пользовательский интерфейс был текстовым и вполне был пригоден для индексирования поисковыми системами. Используя представленную модель DOM, JavaScript мог динамически обновлять содержимое Silverlight, аналогично DHTML
. Также можно было вызывать методы управления презентацией (запуска анимации или приостановки воспроизведения видео, например).

Silverlight-приложение начиналось с вызова объекта Silverlight из HTML-страницы, загружавшей XAML-файл. XAML-файл содержал объект Canvas, выступавший некой «подложкой» для остальных элементов. Объекты XAML были способны генерировать события, перехватываемые из JavaScript.

В комплекте к

Visual Studio
2005 SP1 прилагался инструментарий «Silverlight Tools for VS 2005».

В настоящее время уже понятно, что Silverlight 1.0 являлся лишь первым шагом на пути к разработке расширенных интерактивных приложений, тем более, что через некоторое время всё внимание на себя отвлёк выход новой версии — Silverlight 2, ставшей первой версией платформы, поддерживающей .NET[15].

Silverlight 2

Архитектура Silverlight 2

Изначально данная версия носила название Silverlight 1.1, но довольно скоро было решено, что ввиду внесённых серьёзных изменений (в том числе и упрощавших процесс версионирования) имело смысл изменить номер версии на целое число.

Silverlight 2 была выпущена 14 октября 2008 года, незадолго до проведения конференции Professional Developer Conference, назначенной на октябрь 2008 года. Данная версия считалась революционной, поскольку впервые включала в себя библиотеки .NET Framework (как подмножество) и была реализована для платформ, отличных от Windows. Также данная версия включала в себя большой набор элементов управления, улучшенную работу с видео, поддержку новых инструментов и другие возможности[15].

Кроме этого, доступны для скачивания Microsoft Silverlight Tools for Visual Studio 2008, которые включают в себя:

  • Шаблоны для проектов Visual Basic и C#
  • Интеллектуальный ввод (технология IntelliSense) и генераторы кода для XAML
  • Отладку приложений Silverlight
  • Поддержку «web reference»
  • Интеграцию с Expression Blend

Значительное число возможностей, доступных в последующих версиях (например, в Silverlight 4), было добавлено именно во второй версии платформы[15].

Silverlight 3

18 марта 2009 года на конференции MIX09 в Лас-Вегасе Microsoft продемонстрировала бета-версию Silverlight 3. 10 июля 2009 года в ходе мероприятия See the Light[18] Microsoft объявила об официальном выпуске RTM версии, а вскоре, через девять месяцев после выхода Silverlight 2, была выпущена и окончательная версия.

В новую версию были добавлены новые элементы управления и различные возможности, а уровень данных был расширен для обеспечения стабильной основы для сценариев, более ориентированных на бизнес-процессы. В то же время, существующий уровень медиа был расширен за счёт добавления поддержки новых форматов и эффектов (более известных как «пиксельные шейдеры»). На уровне пользователя стало возможным переносить двухмерные элементы в трёхмерное пространство (что иногда называется «псевдо-3D» или «2,5D»). Анимация продвинулась ещё дальше, обеспечивая более плавное и приближённое к реальному воспроизведению. Некоторые шаги были предприняты и в области использования аппаратного ускорения (что само по себе является настоящей проблемой на смешанных платформах, как например, на поддерживаемых Silverlight)[15].

Среди особенностей новой версии:

В целом Silverlight представляет собой урезанный вариант Windows Presentation Foundation, не требующий наличия .NET Framework[19].
При этом возможности приложений Silverlight почти безграничны, всю недостающую функциональность можно реализовать в виде модулей, используя Silverlight SDK.

Также в Silverlight 3 был впервые представлена функциональность, получившая название «вне браузера» (англ. out-of-the-browser, OOB). Реализация данной функциональности обладала серьёзными недостатками: например, OOB-приложения всё ещё не могли получать какие-либо дополнительные права, что весьма ограничивало их действия. Также не было возможности настройки окна OOB-приложения. Тем не менее, сообщество разработчиков встретило данное нововведение весьма положительно[15].

Silverlight 4

В четвёртой версии Silverlight была введена возможность передачи видеопотока от клиента на сервер в любых приложениях Silverlight иначе, чем это было организовано ранее.
Появился новый режим — офлайн-приложение, устанавливающееся в систему, улучшена безопасность, добавлены механизмы DRM.

Краткий список изменений
  • Поддержка браузера Google Chrome.
  • Поддержка веб-камеры и микрофона.
  • Поддержка вывода на печать.
  • Улучшена поддержка мыши. В частности добавлена поддержка правой кнопки.
  • Поддержка показа оповещений.
  • Новые и улучшенные контролы, такие как RichTextBox и улучшеный DataGrid.
  • Поддержка неявного задания тем для контролов.
  • Поддержка встроенного в систему браузера для показа HTML внутри Silverlight, но пока только для офлайн-приложений.
  • Улучшения слоя WCF.
  • Улучшения при локализации двунаправленного текста.
  • Поддержка Managed Extensibility Framework.
  • Улучшения поддержки связывания данных (data binding).
  • Улучшения эффектов анимации.
  • Поддержка буфера обмена и drag & drop.
  • Улучшения производительности Deep Zoom.
  • Сервисы WCF
    Rich Internet application
    (RIA).
  • Защита H.264 контента и поддержка проигрывания контента, защищённого DRM, в режиме offline.

Также для приложений, запущенных вне браузера и явно получивших статус доверенных (trusted):

  • Полный доступ к клавиатуре при работе в полноэкранном режиме.
  • Программный доступ к локальной папке с документами пользователя.
  • Поддержка локальных COM-объектов.

Silverlight 5

2 декабря 2010 года на конференции Silverlight Firestarter вице-президент подразделения Microsoft Developer Division

Скотт Гатри анонсировал выход бета-версии Silverlight 5 в первой половине 2011 года. Финальная версия вышла в конце 2011 года[20][21]
.

Краткий список изменений

Новые возможности Silverlight 5 включают в себя[20][22]:

Хронология выхода версий

Совместимость с операционными системами и браузерами

В следующей таблице отражена совместимость различных версий Silverlight с браузерами и операционными системами.

ОС/Браузер IE 6 SP1 IE 6 SV1 IE 7 IE 8 Internet Explorer 9 Internet Explorer 10 Internet Explorer 11
Firefox
SeaMonkey Safari Konqueror Opera Google Chrome
Windows 11 Убрана с версии 52 (март 2017)[30] Убрана с версии 45
Windows 10 5.0 Убрана с версии 52 (март 2017)[30] Убрана с версии 45
Windows 8 / 8.1 5.0 5.0 Убрана с версии 52 (март 2017)[30] Убрана с версии 45
Windows Vista/2008/7/2008 R2 1.0, 2.0, 3.0, 4.0, 5.0 1.0, 2.0, 3.0, 4.0, 5.0 1.0, 2.0, 3.0, 4.0, 5.0 5.0 5.0 Убрана с версии 52 (март 2017)[30] 2.0 1.0, 2.0; через
NPAPI
4.0 Убрана с версии 45
Windows XP/2003/Home Server 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0, 5.0 1.0, 2.0, 3.0, 4.0, 5.0 1.0, 2.0, 3.0, 4.0, 5.0 1.0, 2.0; через
NPAPI
4.0 Убрана с версии 45
Windows 2000 2, 3, 4 2.0 Неофициально[31] 2.0; через
NPAPI
Запланирована[32]
Mac OS X PowerPC 1.0 1.0 Запланирована[32]
Mac OS X Intel Убрана с версии 52 (март 2017)[30] 1.0, 2.0, 3.0, 4.0, 5.0 Запланирована[32] Убрана с версии 39

Инструменты разработки

Приложения Silverlight могут быть написаны на любом языке программирования .NET. Все инструменты разработки, которые могут быть использованы для разработки на .NET, также могут работать c Silverlight.

Mono Moonlight

Команда разработчиков Mono разрабатывала проект Moonlight. Это свободная реализация Silverlight с открытым исходным кодом.

Adobe Flash

При наличии плагинов можно использовать в своих разработках Adobe Flash.

JavaFX

Примечания

  1. http://fileformats.archiveteam.org/wiki/Adobe_Cross_Domain_Policy_File
  2. Code Sample: Is Your Process Using the Silverlight CLR? Дата обращения: 27 мая 2007. Архивировано 17 мая 2007 года.
  3. Rounding up DLR questions. Дата обращения: 27 мая 2007. Архивировано 17 мая 2007 года.
  4. Только версия 2.0 и под IE6 // http://www.microsoft.com/silverlight/resources/install.aspx?v=2.0#sysreq Архивная копия от 20 июля 2008 на Wayback Machine
  5. Opera Watch: More details on Silverlight support in Opera Архивировано 21 июля 2011 года.
  6. Silverlight for Windows Phone. Дата обращения: 21 февраля 2011. Архивировано из оригинала 18 февраля 2011 года.
  7. Moving to HTML5 Premium Media. Архивировано 26 мая 2016 года.
  8. Microsoft. Microsoft Support Lifecycle. Архивировано 19 января 2016 года.
  9. NPAPI Plugins in Firefox. Future Releases. Дата обращения: 10 января 2016. Архивировано 11 января 2016 года.
  10. The Final Countdown for NPAPI (амер. англ.). Chromium Blog. Дата обращения: 10 января 2016. Архивировано 17 января 2016 года.
  11. MSDN Blogs. Дата обращения: 9 марта 2008. Архивировано из оригинала
    22 февраля 2012 года.
  12. Silverlight FAQs Архивировано 4 сентября 2007 года.
  13. Microsoft Silverlight 1.0 beta license. Дата обращения: 14 июня 2007. Архивировано 25 июля 2008 года.
  14. Using a Downloader Object. Дата обращения: 25 мая 2007. Архивировано из оригинала 22 февраля 2012 года.
  15. 1 2 3 4 5 6 7 A Short History of Silverlight Архивная копия от 14 января 2012 на Wayback Machine  (англ.)
  16. Microsoft частично откроет код технологии Silverlight Архивная копия от 2 июня 2007 на Wayback Machine  (рус.)
  17. Gavin Clarke. Silverlight glow dimmed by cross-platform concerns Архивная копия от 10 августа 2017 на Wayback Machine  (англ.)
  18. Microsoft Expression Studio 3
  19. Системные требования Silverlight. Дата обращения: 26 января 2011. Архивировано 10 июля 2010 года.
  20. 1 2 Silverlight 5 announcement (англ.). Дата обращения: 2 декабря 2010. Архивировано из оригинала 22 февраля 2012 года.
  21. Microsoft анонсировала новую версию платформы Silverlight Архивная копия от 6 декабря 2010 на Wayback Machine (рус.)
  22. 1 2 3 3-D Graphics Overview (англ.). Архивировано из оригинала 22 февраля 2012 года.
  23. Quick update on Silverlight (англ.). Дата обращения: 30 ноября 2007. Архивировано из оригинала 22 февраля 2012 года.
  24. MSFN — Microsoft rolls out Silverlight maintenance release Архивировано 11 января 2009 года.  (англ.)
  25. Protalinski, Emil Silverlight 2 Beta 2 arrives on time, available now (англ.). Ars Technica. Дата обращения: 6 июня 2008. Архивировано из оригинала 22 февраля 2012 года.
  26. Knor, Max Silverlight 2 Released (англ.). blogs.msdn.com. Дата обращения: 21 октября 2008. Архивировано из оригинала 22 февраля 2012 года.
  27. Microsoft Releases Silverlight 2 On Tuesday, Oct. 14 (англ.). LiveSide. Дата обращения: 13 октября 2008. Архивировано из оригинала 22 февраля 2012 года.
  28. Business-Ready Silverlight 4 Ships April 15 (англ.). Архивировано из оригинала 22 февраля 2012 года.
  29. name="Description of the update for Microsoft Silverlight: September 28, 2010 ">Description of the update for Microsoft Silverlight: September 28, 2010 (англ.). Архивировано из оригинала 22 февраля 2012 года.
  30. 1 2 3 4 5 Почему Java, Silverlight, Adobe Acrobat и другие плагины больше не работают?
  31. Install Silverlight : Unsupported platform, system requirements. Дата обращения: 21 марта 2009. Архивировано 12 января 2009 года.
  32. 1 2 3 Opera Watch: More details on Silverlight support in Opera. Дата обращения: 2 мая 2007. Архивировано 25 июля 2008 года.
  33. Silverlight 1.0 Released and Silverlight for Linux Announced. Дата обращения: 5 сентября 2007. Архивировано из оригинала 22 февраля 2012 года.
  34. Miguel de Icaza. Microsoft/Novell Collaboration on Silverlight (5 сентября 2007). — «We will be supporting Firefox and Linux initially (that is our first goal) but we are looking forward to work with developers from other operating systems (BSD, Solaris) and other browsers (Konqueror, WebKit and Opera) to ensure that Moonlight works fine on their systems.» Дата обращения: 9 ноября 2008. Архивировано из оригинала
    22 февраля 2012 года.
  35. 1 2 Silverlight for Mobile. Silverlight.net. Дата обращения: 9 марта 2008. Архивировано из оригинала 22 февраля 2012 года.
  36. Nokia to enable Silverlight. ??? (4 марта 2008). Дата обращения: 4 марта 2008. Архивировано из оригинала 22 февраля 2012 года.
  37. Joe Stegman. Linux support. MSDN Forums Silverlight General Discussion. Дата обращения: 29 апреля 2007. Архивировано из оригинала 4 июня 2012 года.

Ссылки

Литература

  • Мэтью Мак-Дональд. Silverlight 5 с примерами на C# для профессионалов, 4-е издание = Pro Silverlight 5 in C#, 4th edition. — М.: «Вильямс», 2012. — 848 с. — ISBN 978-5-8459-1784-3.
  • П. Браун. Silverlight. Практическое руководство = Silverlight 4 in Action. — 1-е изд. — П.: Питер, 2012. — 816 с. — ISBN 978-5-459-00408-3.
  • Мэтью Мак-Дональд. Silverlight 3 с примерами на C# для профессионалов = Pro Silverlight 3 in C#. — 3-е изд. — М.: Вильямс, 2010. — 656 с. — ISBN 978-5-8459-1637-2.