Silverlight | это... Что такое Silverlight? (original) (raw)

Silverlight

Логотип Microsoft Silverlight
Разработчик Microsoft Corporation
Написана на Комбинация C++ и C#
Операционная система Windows, Mac OS X, Windows Phone 7, Symbian(9.4)
Последняя версия 5.1.10411 (8 мая 2012)
Лицензия MS EULA, с компонентами MS-PL
Сайт www.microsoft.com/rus/silverlight

Microsoft Silverlight — это программная платформа, включающая в себя плагин для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA (Rich Internet application). Версия 2.0 добавила поддержку для языков .NET[1][2] и интеграцию с IDE.

Silverlight реализована для ОС Windows 2000[3], Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows 8, Mac OS X 10.4, Mac OS X 10.5, Mac OS X 10.6 и браузеров Internet Explorer 6.0/7.0/8.0/9, Opera 9.50, Mozilla Firefox 1.5/2.0/3, Safari 3.1, Google Chrome 3.0[4]Silverlight включена в Windows Phone 7[5], а в будущем также планируется поддержка мобильных устройств, начиная с Windows Mobile 6 и Symbian (Series 60), и, возможно, других платформ[6].

Содержание

Обзор

Silverlight предоставляет графическую систему, схожую с Windows Presentation Foundation, и объединяет мультимедиа, графику, анимацию и интерактивность в одной программной платформе. Он был разработан, чтобы работать с XAML и с языками .NET. XAML используется для разметки страниц, использующих векторную графику и анимацию. Текст, содержащийся в приложениях Silverlight, доступен для поисковых систем, так как он не компилируется, а доступен в виде XAML. Silverlight также можно использовать для того, чтобы создавать виджеты для Windows Sidebar в Windows Vista[7].

Silverlight может воспроизводить WMV, WMA и MP3[8] для всех поддерживаемых браузеров, не требуя при этом дополнительных компонентов, таких как Windows Media Player. Так как Windows Media Video 9 является реализацией стандарта SMPTE VC-1, Silverlight поддерживает видео VC-1, только внутри контейнера ASF. Кроме того, лицензионное соглашение говорит, что VC-1 разрешено использовать только в личных, некоммерческих целях («personal and non-commercial use of a consumer»)[9]. Silverlight позволяет динамически загружать XML и использовать DOM для взаимодействия с ним так же, как это делается в Ajax. Silverlight содержит объект Downloader, благодаря которому можно скачивать скрипты, медиа файлы и т. д., если это необходимо приложению[10]. Начиная с версии 2.0, логика программы может быть описана в любом из языков .NET, включая динамические языки программирования такие как 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[11].

Silverlight 1.0 Beta

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

Silverlight 1.0

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

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

Главной задачей Silverlight 1.0 было быстрое создание основы установки подключаемого модуля Silverlight. Кроме того, в этой версии имелись и дополнительные возможности, как например, возможность создания анимации. Встроенные элементы управления (контролы) отсутствовали (не говоря уже об элементах типа TextBlock), но при помощи контуров программист мог создавать кнопки и другие базовые элементы для своего приложения, вызывавших срабатывание JavaScript-кода. Например, некоторые видеопроигрыватели, полностью написанные под данную версию без применения .NET-кода, были доступны в Интернете и в 2010 году[11].

То есть, по сути Silverlight 1.0 являлся подключаемым модулем браузера для обработки XAML плюс кодеки для воспроизведения мультимедийного содержимого в форматах WMV, 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[11].

Silverlight 2

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

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

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

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

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

Silverlight 3

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

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

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

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

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

Silverlight 4

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

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

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

Silverlight 5

Ambox outdated serious.svg Информация в этой статье или некоторых её разделах устарела. Вы можете помочь проекту, обновив её и убрав после этого данный шаблон.

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

в первой половине 2011 года. Финальная версия планируется к выходу в конце 2011 года[16][17].

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

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

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

Название версии номер версии Дата выхода
1 Community Technology Preview (CTP) 1.0.? 2006-12
1 Release to Web (RTW) 1.0.20816 2007-09-05
2 Pre-Release(в виде 1.1 Alpha Refresh) 1.1.20926.0 2007-09-05
1 Service release 1.0.21115.0 2007-11-20
1 Service release 1.0.30109.0 2008-01-15
2 Beta 1[19] 2.0.30226.2 2008-03-05
1 Service release[20] 1.0.30401.0 2008-04-08
2 Beta 2 2.0.30523.6 2008-06-06[21]
2.0.30523.8 2008-07-16
1 Service release 1.0.30715.0 2008-07-27
2 Release Candidate Zero (RC0) 2.0.30523.9 2008-09-25
2 RTW[22] 2.0.31005.0 2008-10-14[23]
2 General Distribution Release (GDR) 1 2.0.40115.0 2009-02-19
3 Beta 3.0.40307.0 2009-03-18
3 RTW 3.0.40624.0 2009-07-09
3 GDR 1 3.0.40723.0 2009-07-28
3 GDR 2 3.0.40818.0 2009-09-01
4 Beta 1 4.0.41108.0 2009-11-18
3 GDR 3 3.0.50106.0 2010-01-20
4 RC 4.0.50303.0 2010-03-15
4 RTW 4.0.50401.0 2010-04-15[24]
4 GDR 0 4.0.50524.0 2010-06-03
3 Security Update 3.0.50611.0 2010-08-10
4 GDR 1 4.0.50826.0 2010-09-01
4 GDR 2 4.0.50917.0 2010-09-28[25]

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

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

ОС/Браузер IE 6 SP1 IE 6 SV1 IE 7 IE 8 Firefox SeaMonkey Safari Konqueror Opera Google Chrome
Windows Vista/2008/7/2008 R2 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 2.0 1.0, 2.0; через NPAPI 4.0 2.0, 3.0, 4.0
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 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 1.0, 2.0; через NPAPI 4.0 2.0, 3.0, 4.0
Windows 2000 2.0, 3.0, 4.0 2.0 Неофициально[26] 2.0; через NPAPI Запланирована[27]
Windows Mobile 6
Windows Phone 7 Запланирована Запланирована
Mac OS 10.4/10.5 PowerPC 1.0 1.0 Запланирована[27]
Mac OS 10.4/10.5 Intel 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 Запланирована[27] 3.0, 4.0 Неофициально

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

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

Mono Moonlight

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

Adobe Flash

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

JavaFX

Сравнение Silverlight, Adobe Flash, JavaFX и HTML5

Примечания

  1. Code Sample: Is Your Process Using the Silverlight CLR?
  2. Rounding up DLR questions
  3. Только версия 2.0 и под IE6 // http://www.microsoft.com/silverlight/resources/install.aspx?v=2.0#sysreq
  4. Opera Watch: More details on Silverlight support in Opera
  5. Silverlight for Windows Phone
  6. 1 2 Joe Stegman. Linux support. MSDN Forums Silverlight General Discussion. Архивировано из первоисточника 4 июня 2012. Проверено 29 апреля 2007.
  7. Charles Sterling. Writing a Windows Sidebar Gadget in Silverlight dead simple. MSDN Blogs. Архивировано из первоисточника 23 февраля 2012. Проверено 9 марта 2008.
  8. Silverlight FAQs
  9. Microsoft Silverlight 1.0 beta license.(недоступная ссылка — история) Проверено 14 июня 2007.
  10. Using a Downloader Object. Архивировано из первоисточника 23 февраля 2012. Проверено 25 мая 2007.
  11. 1 2 3 4 5 6 7 A Short History of Silverlight (англ.)
  12. Microsoft частично откроет код технологии Silverlight (рус.)
  13. Gavin Clarke. Silverlight glow dimmed by cross-platform concerns (англ.)
  14. На мероприятии состоялся также выпуск Microsoft Expression Studio 3
  15. Системные требования Silverlight
  16. 1 2 Silverlight 5 announcement (англ.). Архивировано из первоисточника 23 февраля 2012. Проверено 2 декабря 2010.
  17. Microsoft анонсировала новую версию платформы Silverlight (рус.)
  18. 1 2 3 3-D Graphics Overview (англ.). Архивировано из первоисточника 23 февраля 2012.
  19. Quick update on Silverlight (англ.). Архивировано из первоисточника 23 февраля 2012. Проверено 30 ноября 2007.
  20. MSFN — Microsoft rolls out Silverlight maintenance release (англ.)
  21. Protalinski, Emil Silverlight 2 Beta 2 arrives on time, available now (англ.). Ars Technica. Архивировано из первоисточника 23 февраля 2012. Проверено 6 июня 2008.
  22. Knor, Max Silverlight 2 Released (англ.). blogs.msdn.com. Архивировано из первоисточника 23 февраля 2012. Проверено 21 октября 2008.
  23. Microsoft Releases Silverlight 2 On Tuesday, Oct. 14 (англ.). LiveSide. Архивировано из первоисточника 23 февраля 2012. Проверено 13 октября 2008.
  24. Business-Ready Silverlight 4 Ships April 15 (англ.). Архивировано из первоисточника 23 февраля 2012.
  25. name="Description of the update for Microsoft Silverlight: September 28, 2010 ">Description of the update for Microsoft Silverlight: September 28, 2010 (англ.). Архивировано из первоисточника 23 февраля 2012.
  26. Install Silverlight : Unsupported platform, system requirements
  27. 1 2 3 Opera Watch: More details on Silverlight support in Opera.(недоступная ссылка — история) Проверено 2 мая 2007.
  28. Silverlight 1.0 Released and Silverlight for Linux Announced. Архивировано из первоисточника 23 февраля 2012. Проверено 5 сентября 2007.
  29. 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.» Архивировано из первоисточника 23 февраля 2012. Проверено 9 ноября 2008.
  30. 1 2 Silverlight for Mobile. Silverlight.net. Архивировано из первоисточника 23 февраля 2012. Проверено 9 марта 2008.
  31. Nokia to enable Silverlight. ??? (4 марта 2008). Архивировано из первоисточника 23 февраля 2012. Проверено 4 марта 2008.

Ссылки

Литература

Просмотр этого шаблона Программные интерфейсы и фреймворки Microsoft Windows
Графика Проводник WindowsDirectXDirect3DGDIWindows Presentation Foundation • Windows Color System • Windows Image Acquisition • Windows Imaging Component
Звук DirectSound • DirectMusic • XACT • Speech APIMME
Мультимедиа DirectShowWindows MediaMedia Foundation
Веб MSHTMLMSXML • Платформа RSS для Windows • JScriptActiveXXMLHttpRequest • Гаджеты
Доступ к данным Компоненты Microsoft Data Access • Extensible Storage Engine • ADO.NET • Sync Framework • Jet-механизм
Сети Winsock (LSP) • Filtering Platform • NDIS • Windows Rally • Сервис фоновой интеллектуальой передачи данных • P2P API
Коммуникации TAPI
Администрирование Консоль Win32 • Windows Script Host • Инструментарий управления Windows • PowerShell • Планировщик задач • Offline Files • Теневое копирование • Windows Installer • Диспетчер ошибок Windows • Журнал событий Windows
Модель компонентов COMCOM+DCOM.NET Framework
Библиотеки Microsoft Foundation Classes (MFC) • Active Template Library (ATL) • Windows Template Library (WTL) • Base Class Library (BCL)
Разработка драйверов Windows Driver ModelWindows Driver Foundation (KMDF • UMDF)
Безопасность CryptoAPI (CAPICOM) • Windows CardSpace • Data protection API • Security Support Provider Interface
.NET .NET FrameworkASP.NETADO.NET.NET RemotingWindows Presentation FoundationWindows Workflow FoundationWindows Communication FoundationWindows CardSpaceXNA FrameworkSilverlight • Библиотека параллельного программирования
Межпроцессноевзаимодействие Dynamic Data Exchange (DDE) • MSRPC • Именованные каналы
Текст иподдержка языков Framework Текстовых сервисов • Объектная модель текстов • Редактор метода ввода • Языковые пакеты • Многоязычный интерфейс
Игры XNA FrameworkDirectX
Просмотр этого шаблона .NET Framework
Архитектура Base Class LibraryCommon Language Infrastructure.NET assemblyметаданныеCOM Interop
Инфраструктура Common Language RuntimeCommon Type SystemCommon Intermediate Language • Virtual Execution System • Dynamic Language Runtime
Языки Microsoft C#Visual Basic .NETC++/CLI (Managed) • Visual J#JScript .NETWindows PowerShellIronPythonIronRubyF#Spec#Sing#
Другие языки A#Boo • IronLisp • L# • NemerleP#PascalABC.NETPHPScalaCobra • Delphi Prism
Windows Foundations PresentationCommunicationWorkflow
Компоненты ADO.NET (Entity Framework · Data Services) · ASP.NET (AJAX · MVC · Dynamic Data) · .NET Remoting · Language Integrated Query · Windows CardSpace · Windows Forms · XAML · ClickOnce · Dynamic Language Runtime · Parallel FX Library (PLINQ · TPL)
Реализации DotGNUMono.NET Compact Framework (Xbox 360) • .NET Micro FrameworkPortable.NETXNA FrameworkSilverlight • Shared Source Common Language Infrastructure
Сравнения C# и Java • C# и Visual Basic .NET
Будущие технологии Acropolis • Jasper
Просмотр этого шаблона API и фреймворки Microsoft
Графика Desktop Window Manager · Direct2D · Direct3D (extensions) · GDI / GDI+ · WPF · Windows Color System · Windows Image Acquisition · Windows Imaging Component
Аудио DirectMusic · DirectSound · DirectX plugin · XACT · Speech API · XAudio2
Мультимедиа DirectX (Media Objects · Video Acceleration) · DirectInput · DirectShow · Image Mastering API · Managed DirectX · Media Foundation · XNA · Windows Media · Video for Windows
Web MSHTML · RSS Platform · JScript · VBScript · BHO · XDR · SideBar Gadgets
Доступ к данным Data Access Components · Extensible Storage Engine · ADO.NET · ADO.NET Entity Framework · Sync Framework · Jet Engine · MSXML · OLE DB · OPC
Сеть Winsock (LSP) · Winsock Kernel · Filtering Platform · Network Driver Interface Specification · Windows Rally · BITS · P2P API · MSMQ · MS MPI · DirectPlay
Коммуникации Messaging API · Telephony API · WCF
Администрирование и управление Win32 console · Windows Script Host · WMI (extensions) · PowerShell · Task Scheduler · Offline Files · Shadow Copy · Windows Installer · Error Reporting · Event Log · Common Log File System
Компонентная модель COM · COM+ · ActiveX · Distributed Component Object Model · .NET Framework
Библиотеки Base Class Library (BCL) · Microsoft Foundation Classes (MFC) · Active Template Library (ATL) · Windows Template Library (WTL)
Драйверы устройств Windows Driver Model · Windows Driver Foundation (KMDF · UMDF) · WDDM · NDIS · UAA · Broadcast Driver Architecture · VxD
Безопасность Crypto API (CAPICOM) · Windows CardSpace · Data Protection API · Security Support Provider Interface (SSPI)
.NET ASP.NET · ADO.NET · Base Class Library (BCL) · Remoting · Silverlight · TPL · WCF · WCS · WPF · WF
Программное обеспечение EFx Factory · Enterprise Library · Composite UI · CCF · CSF
IPC MSRPC · Dynamic Data Exchange (DDE) · Remoting · WCF
Доступность Active Accessibility · UI Automation
Текст и многоязнаяподдержка DirectWrite · Text Services Framework · Text Object Model · Input method editor · Language Interface Pack · Multilingual User Interface · Uniscribe