Что за программа Microsoft Silverlight? Приложения Silverlight Выполнение silverlight заблокировано так как установленная версия.

Компьютер 29.03.2024
Компьютер

Microsoft Silverlight – это не программа. С одной стороны, представляет собой технологию для разработки мультимедийного программного обеспечения с другой – платформу для разработки этого ПО.

Официальный логотип Microsoft Silverlight

Зачем нужен

Silverlight разрабатывался Microsoft как более широкая, безопасная и производительная технология чем , прямой ее конкурент. Назначение у обеих технологий идентичные, а именно разработка и поддержка приложений с векторной, растровой 2D и 3D графикой, аудио и видео роликами. Является платформой для RIA -приложений.

RIA– это веб приложения, которые для выполнения скачиваются на устройство пользователя. При работе они могут доканчивать компоненты из интернета.

Silverlight объединяет 4 важнейших современных веб компонента.

Предполагалось, что Silverligth развернется на каждой из операционной платформ, но по факту появилась лишь на Windows, Mac OS X, Symbian. Кросплатформенность также предполагает, что приложение, разработанное с использованием Silverligth должно одинокого хороша работать и выглядеть как на экране персонального компьютера, так и на дисплее планшета или смартфона.

Ключевым компонентом платформы Silverligth является язык XALM, язык разметки. Он позволяет включать в приложение текст, который индексируется поисковыми системами (Google, ).

Приложения Silverlight (начиная со 2 версии) – это часть технологии.NET, что позволяет разрабатывать их на любом из языков платформы (С#, Object C++, Python).

Что нужно чтобы установить

Для программиста установка Silverlight предполагает развертывание у себя на ПК соответствующей среды для разработки: Visual Studio на Windows и Mac OS X, и Mono на Linux.

Для пользователя Silverlight – это модуль или плагин для веб браузера. Чтобы пользоваться его возможностями, нужно скачать браузер, который его поддерживает.

Нужен ли вам Silverlight

Если вы пользователь, то ответ однозначный. Нет. В 2012 году технология официально признана бесперспективной и устаревшей. И сегодня ни один современный браузер ее не поддерживает (кроме и Edge).

Хотя есть несколько сотен мощных корпоративных решений на Silverligth, каждый месяц количество приложений сокращается. Специалисты Microsoft предполагают, что к 2021 году не останется ни одного приложения на основе Silverlight.

Пользователю не стоит беспокоиться о том, что какой-то веб компонент будет ему недоступен. Производители ПО в своих программных продуктах либо давно заместили компоненты, написанные на Silverlight, либо реализовали поддержку как Silverlight, так и Flash.


Поделись статьей в социальных сетях! Помоги нашему сайту!

Присоединяйтесь к нам в VK!
  • Перевод

По непонятным мне на данный момент причинам, похоже, что многие разработчики, присутствовавшие на недавней конференции PDC-2010 (Крупнейшая конференция Microsoft для разработчиков - Прим. переводчика ), были сильно удивлены тем, что Microsoft решила сместить акценты в разработке RIA с Silverlight на HTML5. Хотя это удивление разработчиков не менее удивительно - на недавних конференциях и анонсах (например, анонсы развития Internet Explorer 9 - Прим. переводчика ) представители Microsoft дали понять, хотя и не совсем явно, что приоритеты меняются на более кросс-платформенное решение. В чём же секрет?

Когда Microsoft выпустила первую версию Silverlight в 2007 году, подключаемый модуль позиционировался прессой как аналог Adobe Flash (хотя существует ряд других подобных решений: Adobe AIR, JavaFX, Google Gears (разработка которого закрыта, часть кода стала основой для HTML5), OpenLaszlo и др. - Прим. переводчика ). Хотя определённые различия всё же есть. Silverlight-таки нацелен в сторону разработчиков-программистов, тогда как Adobe Flash даёт крен в сторону веб-дизайнеров, хотя обе платформы охватывали один и тот же рынок сложных интерактивных приложений, поставляемых через веб-браузер.
Наивных разработчиков, пришедших послушать выступления, посвящённые MS Silverlight, постигло разочарование. Боб Маглиа (президент серверного подразделения Microsoft - Прим. переводчика ) заявил, что стратегия развития Microsoft в плане разработки RIA сместилась на HTML5.
В заявлении на ZDNet , в котором CEO Стив Балмер и Боб Маглиа объявили, что Silverlight будет продолжать развиваться, но вот в Сети приоритет получит язык разметки HTML5.
Вполне можно понять разработчиков, которые польстились на многократные заверения Microsoft в недавнем прошлом, что Silverlight выбьет Flash со сцены и станет необычайно перспективным мощным средством для реализации проектов. А теперь разработчики, которые собрались создавать свои проекты на базе Silverlight, слышат от компании, что, де-мол, да Silverlight хорош, но мы на него забьём, ибо HTML5 хлёще и круче. Да, есть от чего скрипеть зубами, но, надо быть объективным - Microsoft об этом говорила и раньше (Во время разработки браузера Gazelle который ныне трансформировался в абсолютно иной проект) и первых превью IE9 некоторые разработчики в своих блогах и интервью указывали, что HTML5 будет основой - Прим. переводчика ).

Разработка IE 9 должна была стать первым звоночком программистам, нацелившимся на Silverlight. Microsoft трубила на каждом шагу о том, что браузер соответствует просто всем веб-стандартам, что IE лучше всех поддерживает CSS3 и HTML5 (Тогда это было чистым враньем, в чём многие интернет-ресурсы уличали корпорацию, хотя сейчас это реальность. IE 9 PP6 ничуть не уступают в среднем Chromium 9. Тестирование Chromium 9 на W3C проводил я, так что не пинайте сильно - Прим. переводчика ). Теперь же Microsoft почти создала высокопроизводительный, совместимый с веб-стандартами браузер, который не просто звоночек разработчикам RIA на Silverlight, а просто колокол.
При этом ладно бы команда разработчиков браузера об этом твердила, так ещё и разработчики Silverlight, во-первых, мягко намекают о том , что Silverlight станет лишь небольшой примочкой для HTML5, ибо новый язык разметки, например, пока не умеет передавать потоковое DRM-защищённое видео. То есть, в итоге, Silverlight даже не позиционируется конкурентом HTML5, а остаётся конкурентом Adobe Flash, который пока занимает господствующее положение.
Во-вторых, разработчики Silverlight говорят об автономном использовании модуля. Отдельно от браузера плагин можно использовать как платформу для настольных приложений (Пример Seesmic) или же, что куда важнее, написание приложений для Windows Phone 7. Игры, конечно, удобнее будет писать на XNA, но неигровые приложения для новой мобильной ОС проще писать на Silverlight (Об этом много говорилось на конференции День Студента в МГУ 1 ноября, и будет говориться завтра в Киеве - Прим. переводчика ).
По сути, Боб Маглия не объявлял о новых стратегиях, а просто разложил всё по полочкам. Silverlight уезжает на Windows Phone, а всё остальное - на откуп HTML5. В чём же причина? А вот в чём:

Проблема Apple
Несмотря на все попытки Microsoft сделать Silverlight кросс-платформенным, задача не удалась. Windows был охвачен, Mac OS X с горем пополам поддержали, Linux отдали в руки Novell, которая принялась писать костыль в виде Moonlight, лишь «пародируя» закрытый Silverlight. Сложности начались на мобильном рынке, а именно с iOS. Как известно, Apple запретила исполнять плагины в среде мобильного Safari, что вызвало шумиху у пользователей приложений на Adobe Flash, хотя затрагивало и Silverlight, но в виду малой популярности модуля, большого резонанса это не вызвало. Получается, что Microsoft отдаёт без боя рынок интернет-планшетов и дико популярных iPhone. (Microsoft пытается стимулировать производителей выпускать планшеты под Windows 7, но на фоне Android, iOS, webOS, Jolicloud это выглядит бледно - Прим. переводчика ). Поэтому единственная возможность закрепиться там - HTML5.
Похожая проблема настигла и Flash, но Adobe вывернулась рядом обходящих инструментов (а также ряд сторонних разработок фанатов и других разработчиков, как, например, браузер SkyFire, который по образу и подобию Opera Mini со сжатием трафика будет обрабатывать Flash-контент у себя на серверах - Прим. переводчика ).
И всё-таки неясно, что же будет основным фокусом для «Сервелата»: автономные приложения для ПК, приложения для Windows Phone 7 или «примочка» над HTML5?
Новое направление развития Silverlight
Как ни парадоксально, но Silverlight остался не менее важен, чем раньше, хотя отнюдь не в том направлении, как первоначально предполагалось.
Вся эта клоунада в прошлом, где Silverlight позиционировался, как «убийца Flash» не выглядела хоть сколько-нибудь серьёзной. У Adobe есть удобный бесплатный открытый фреймворк Adobe Flex, который вытеснить Visual Studio и Expression Blend очень трудно, которые, к тому же, платны или содержат ряд ограничений. При таких раскладах вытеснить Flash очень трудно. Поэтому отдача всего веб-сегмента языку HTML5 вполне оправдано. Объективно Silverlight не имел сколько-нибудь больших шансов вытеснить Flash.
Silverlight же имеет большие шансы в качестве платформы для разработки приложений под Windows Phone 7. И тут возникает большой вопрос: сможет ли Windows Phone 7 откусить кусок от пирога, который яростно делят Nokia, Google, Apple, Research in Motion и HP со своей webOS? Если нет, то все средства, вложенные в разработку Silverlight окажутся потрачены впустую. Но у Microsoft есть поводы позитивно мыслить - рынок смартфонов потенциально перспективный рынок (за год доля мобильных устройств в интернет-трафике выросла на 2% - Прим. переводчика ). Если в динамике рынка Microsoft удастся откусить кусочек пирога и его удержать в зубах, то появятся шансы для экспансии на доли конкурентов. Имея столь мощную платформу для разработки приложений как Silverlight, у MS есть будущее в этом сегменте (И именно поэтому на всех конференциях и блогах представители Microsoft отчаянно скандируют «Начинайте программировать под Windows Phone прямо сейчас!». Если не будет сторонних приложений, то WP 7 умрёт не родившись толком - Прим. переводчика ).
Silverlight на рабочем столе
Silverlght далеко не худший фреймворк для разработки автономных приложений под персональные компьютеры, учитывая Expression Blend и Visual Studio - мощнейшие инструменты для разработки. Вместе с ними можно относительно легко создавать дизайн и кодовую базу для подобных приложений на Silverlight. Проблема в другом - в политике Microsoft.
На последнем PDC-2010 мало говорилось о Silverlight, но о настольных приложениях не говорили вообще. Да, этому есть оправдания: в этом году у Microsoft основная тема - Windows Phone 7 и Windows Azure, которые были приоритетными, а вот о Windows 7 подзабыли уже. О разработке Windows 8 мы услышим скорее всего в следующем году и то не факт. Отсюда ясно, что Microsoft «улетела» в «облака», отправив всё остальное в долгий ящик.
Настольный Silverlight зверь особый. Он является по сути производной от.NET Framework и Windows Presentation Foundation (WPF). Он исключает функции, которые не нужны за пределами веб-приложений для получения более быстрого и производительного выполнения. То есть, если вы можете писать приложения на C# или WPF, то вы без труда сможете писать и на Silverlight, и наоборот.
Тем не менее, изначально модуль Silverlight задумывался плагином для браузера. Да, разработчики могут выбирать между.NET/WPF и Silverlight (у него даже преимущества для работы под Mac OS X), но с помощью более мощных.NET/WPF куда шире диапазон разрабатываемых приложений. По функциональности WPF и Silverlight в некоторых аспектах перекрывают друг друга.
Такое «соперничество» между двумя продуктами показательны в некоторых недочётах политики Microsoft на поприще настольных приложений. Вернёмся в прошлое, когда только начала разрабатываться Windows Vista, тогда известная как Longhorn. Тогда код.NET расценивался как будущее в разработке Windows-приложений, и всё было ясно: WPF - платформа разработки приложений, а Silverlight (тогда ещё WPF/Everywhere) был урезанной версией для мультиплатформенных веб-приложений. В первых сборках Windows Vista даже были возможности для написания масштабируемых WPF-приложений, что оказалось бы мощным рывком к современной концепции «трёх экранов»
Однако, как известно, сам проект Longhorn оказался перезапущен, была выпущена пресловутая Windows Vista, а.NET оказался в глубокой тени. Выглядело это так, будто Microsoft боялась использовать.NET, во всяком случае на настольных системах. Вместо того, чтобы выпустить систему, построенную на базе WPF, WPF оказался проигнорированным, и только с запуском Visual Studio 2010, Microsoft начала делать приложения, построенные на этой технологии. При этом, в Windows Vista было удалено то самое умное масштабирование при установке первого пакета обновлений. По каким причинам - непонятно.
Глядя на все эти метания, не совсем ясно, что собирается делать Microsoft (похоже даже она не сильно понимает, что нужно делать). Основные принципы WPF очень внушительны, и разработка Windows-приложений на WPF куда предпочтительнее, чем под Win32, хотя остаётся ещё немало сомнений.
С Windows 7 редмондский гигант предоставил технологию Direct2D, которую не используют ни WPF, ни Silverlight, но которая лежит в основе высокопроизводительной обработки HTML5 в Internet Explorer 9. Получается, что WPF может умереть, хотя может и сосуществовать с Silverlight вместе, или же, наоборот, обе технологии могут уйти в тень. До появления Windows Phone 7 я думал, что случится именно последнее, но теперь с мобильной ОС и Visual Studio Lightswitch я понимаю, что WPF уйдёт на задворки, уступив Silverlight.
Silverlight в Сети всё ещё имеет смысл
Теперь, когда Silverlight потерял приоритет в разработке веб-приложений, и имеет неясное будущее на настольных приложениях, можно видеть разочарование многих разработчиков, сообразивших, что их приложения теперь не сильно-то нужны в том виде, в котором они задумывались. Самое странное и озадачивающее это то, что стратегия Microsoft не совсем ясна, так как они заявляют лишь общие фразы, не раскрывая их конкретикой.
Я не думаю, что остались какие-то сомнения в том, что HTML5 займёт господствующее положение на рынке (политика Google, Apple и действия Adobe действительно не позволяют в этом усомниться - Прим. переводчика ), но не сейчас. Пока Internet Explorer занимает господствующее положение на рынке браузеров, а поддержка HTML5 в них колеблется от нулевой (Internet Explorer 6) до незначительной (Internet Explorer 8)
Да, Internet Explorer 9 значительно и качественно изменяет существующую поддержку (а точнее не поддержку) веб-стандартов браузером, но абсолютно неизвестно, когда он будет выпущен официально. За 18 месяцев существования Internet Explorer 8 отвоевал около 50% общей доли, тогда как оставшиеся 50% делят морально и технически устаревшие IE 6/7. То есть, даже, если Microsoft прямо сейчас выпустит «девятку», то пройдёт около года, пока она займёт какую-то значимую долю. Тогда как Silverlight и Flash доступны прямо сейчас любой версии браузера.
Даже если бы сейчас HTML5 занимал большую часть рынка веб-технологий, то разработка была бы затруднённой. Многие спецификации существуют, но далеки от завершающей стадии разработки, браузеры на разных движках воспринимают разметку по своему, показывая абсолютно разный результат. Получается, что у разработчиков два выхода - работать с HTML5 и тратить кучу времени на то, чтобы настраивать, пилить, тестировать разметку в каждом браузере или же взять плагин Silverlight, который выглядит одинаково во всех поддерживаемых браузерах и системах. И не забывайте о том, что толковых средств разработки и дизайна на HTML5 пока не придумали. Да, Adobe представила средство для конвертации Flash в HTML5, но это инструмент будущего, но никак не сегодняшнего дня, тогда как и Microsoft, и Adobe имеют мощные средства разработки и надстройки к ним для работы с Silverlight и Flash соответственно. Поэтому не стоит рьяно закапывать оба модуля.
Не стоит также забывать о том, что HTML5 многое не умеет. Например, DRM-защищённое видео, которое используется в сервисе Hulu. Потоковое видео очень трудно создавать с помощью HTML5, да и работа с веб-камерами и микрофонами очень далека от идеала. Короче, HTML5 многое не умеет из того, что умеют Flash и Silverlight.
HTML5, или даже нечто, что может вскоре появиться на его основе не сможет занять большую популярность даже в следующем году и, возможно, через год. Ещё немало направлений, где Flash и Silverlight намного предпочтительнее HTML5 как плагины и как средства разработки.
На таком фоне решение Microsoft начать сворачивать веб-направленность Silverlight выглядит по меньшей мере страннно. Да, через год это было бы необходимо, но сейчас? Консорциум Всемирной Паутины (W3C) принимает большие усилия для создания стандарта, но работы столь далеки от завершения, что убивать такие технологии как Silverlight и Flash, не имея полноценной замены - просто самое настоящее безумие.
А вот Microsoft пора принять решение и перестать пудрить мозги разработчикам. Что же станет платформой для написания приложения на десктопах? Win32 (с или без Direct2D уже не важно)? Silverlight? WPF? Или вообще что-то другое? Три способа разработки, извините, но это жесть. Альтернатива хорошо, но если сегодня три способа разработки, и разработчики разделятся поровну и начнут писать приложения, а завтра Microsoft закопает два способа, что же, разработчикам сидеть у разбитого корыта? Если будущее за Silverlight и WPF, то подключите к ним Direct2D, чтоб работали шустро и выглядели одинаково с другими приложениями, но если на десктопах не они будущее, то пусть заявят об этом разработчикам, чтобы они были готовы к переменам, а не водить их за нос.
Хотя можно догадаться о планах Microsoft. На данный момент Direct2D лучший способ написания разработчиками высокопроизводительных пользовательских интерфейсов, а также лучший способ для работы с HTML5 в IE9. Сможет ли Редмонд охватить своим взгядом и возможностями весь HTML5, заткнуть вместе с W3C дыры, которые не позволяют HTML5 «одолеть» Flash и Silverlight, а затем всё это использовать в Windows? Нечто подобное начинает делать Apple в iOS.
Странные вещи происходят, странные.

Microsoft Silverlight — это технология, основанная на XML и.NET, изначально призванная заменить Adobe Flash. Другая, аналогичная, конкурирующая разработка – это запущенная практически одновременно JavaFX. Что же позволяет разработчикам Silverlight? Имея опыт работы с XAML в программировании – использовать его на полную катушку, позволяя себе манипулировать с векторной графикой, анимацией и видео. Сама по себе Silverlight – это подмножество Windows Presentation Foundation со всеми вышеупомянутыми возможностями. Она также включает в себя полную версию.NET CLR, называемую CoreCLR, что позволяет писать в Silverlight на любом из языков программирования.NET.

Несмотря на то что у Silverlight и Flash много общего, функциональность и возможности этих двух сред разработки заметно различаются

Сильверлайт является кросс-платформенной средой разработки и реализован для ОС семейства Windows, Mac OS 10.4 и выше. Проблема совместимости, на данный момент, заключается в частичном отсутствии поддержки Opera, которым пользуется огромное количество пользователей. Здесь у Flash’а несомненное преимущество – его полная кроссплатформенность. Однако вышедший недавно Silverlight 2 Beta 1 работает в последней версии Opera 9.50 для Windows. Но, конечно же, для полной стабильности придется ждать финальной версии.
Первая бета-версия Microsoft Silverlight была выпущена в декабре 2006 года. Первая стабильная версия – в середине 2007 года. В отличие от большинства продуктов Microsoft – Silverlight имеет часть Dynamic Language Runtime доступным на условиях OpenSource кода.
Несколько дней назад, 16 мая, под эгидой проекта Mono разработчики выпустили версию плагина Silverlight на базе открытого ПО для операционных систем Linux . Называется эта разработка Moonlight . О ней чуть ниже.

5-го марта текущего года была выпущена бета-версия Silverlight 2.0, включенная в Microsoft Visual Studio 2008 . Последняя имеет следующие полезные возможности:

Шаблоны для проектов Visual Basic и C#.
Интеллисенс и генераторы кода для XAML.
Отладка приложений.
Поддержка Web reference.
Интеграция с Expression Blend.

А вот в самом втором Сильверлайте было сделано много полезных и приятных дополнений, таких как:

Разработчики могут писать на любом.NET-языке: VB, C#, JavaScript, IronPython и IronRuby.
Легче встраивать UI-элементы (как часть WPF UI Framework ), добавились рич-контролы (TextBox, CheckBox, RadioButton, Slider, ScrollViewer, Calendar, DatePicker и т.п.).
Поддержка ‘rich networking’: поддержка вызовов REST, WS*/SOAP, POX, RSS и других стандартных HTTP-сервисов. Тут же упомяну, ещё раз, и о кросс-доменном доступе к различным ресурсам.
Rich Base Class Library, включающая гигантскую функциональность (коллекции, IO, потоки, глобализацию, XML и т.п.), а также возможность использовать API для HTML DOM/JavaScript-интеграции с.NET-кодом .
Silverlight 2 не потребует от вас установки.NET Framework на ваш компьютер, ибо установщик (к слову сказать вес оного значительно выше, чем первой версии - 4.3MB) имеет всё необходимое.

Раз уж мы упомянули Silverlight в свете сравнения c Flash – стоит посмотреть, в чем же заключаются различия между этими инструментами создания Rich Internet Applications (функционально богатых приложений).
Сейчас компания Adobe выпустила прямого конкурента Сильверлайту – это язык и среда разработки Flex , ей мы как-нибудь посвятим отдельную статью. А вот это – список сравнение Silverlight и Flash:

SilverLight не требует установки видео кодека для проигрывания видео формата.WMF
Flash требует наличие кодека для проигрывания.WMF видео. Также есть ограничения по проигрыванию других форматов видео.

Silverlight поддерживает полноэкранное видео.
Flash не поддерживает масштабируемое полноэкранное видео.

Silverlight использует анимационную модель — WPF, которая основывается на времени а не на кадровой анимации.
Flash использует покадровую анимацию.

Silverlight не поддерживает GIF и BMP форматы. Поддерживаются только JPG и PNG форматы графических файлов.
Flash на сегодняшний день поддерживает все графические форматы.

Silverlight позволяет встраивать текст в свой проект, и устанавливать его с загрузкой объекта.
Во Flash работь со шрифтами довольно сложно.

Silverlight использует XAML, и он пока декларативный.
Flash — ActionScript

Silverlight не позволяет пока работать с пиксельной графикой, и использовать различные эффекты и фильтры.
Flash позволяет это делать уже с 8 версии

Silverlight использует XAML который основывается на текстовой информации, и может быть леко изменен используя простые XML объекты.
Flash использует бинарные (двоичные) формы записи.

Silverlight позволяет использовать различные технологии при создании проекта — JavaScript, C#.
Flash позволяет использовать только программные возможности ActionScript.

Используя Silverlight Streaming вы можете создать полноценный видеой cайт, используя бесплатный сервис.
Ни один потоковый сервис не доступен бесплатно во Flash.

Сегодня Silverlight практически избавился от своей неполноценности и является полностью кроссплатформенным приложением

Несмотря на то, что сопоставление Сильверлайт и Флеш – очень частое явление, далеко не всем оно кажется верным. Действительно – Silverlight можно использовать с примерно теми же целями, что и Flash, однако первый больше похож на современный легковесный аналог Java-апплетов с поддержкой прогрессивных технологий создания UI. Общая тенденция, назовем ее, цель, технологии Silverlight – это мягкое «утолщение» веб-клиента и уход популярных сейчас технологий Javascript/AJAX/Flash .
В этом же векторе развиваются и , однако с некоторыми различиями. Если основной целью AIR & Prism является «одомашнивание интернета », то Silverlight пытается полностью приручить именно веб .
Сам Microsoft Silverlight реализован очень элегантно. При его создании всем было понятно, что написать плагин в браузер для поддержки аналога Java-апплетов, только основанном на.NET – несложно. Естественно – сам фреймворк при этом обладает немаленьким весом и установлен не у каждого пользователя. Поэтому программисты Microsoft поступили следующим образом – реализовали апплет, отвечающий в браузере за Silverlight 2.0, содержит в себе внушительную часть фрейморвка, необходимую для нормальной работы Silverlight-приложений. И обладает, при этом, весом меньше 5 мб, хотя на сайте и написано: 1 мб (здесь служащие редмондского гиганта приукрасили – они любят).

Для Сильверлайт-разработки понадобятся:

Плагин для браузера. Его бета-версию можно скачать . Доступны версии для Windows (IE, Opera, Firefox) и Mac OS X.
Silverlight SDK , содержащая инструменты и документацию. Доступна для скачивания .
Silverlight Tools for Visual Studio – удобное дополнение, позволяющее разрабатывать SL-проекта прямо в IDE Visual Studio. Версия Express пока не поддерживается, но эта возможность будет в финальной версии продукта.
Microsoft Expression Blend 2.5 March 2008 Preview – нечто среднее, между средой разработки и графическим редактором разработки WPF приложений.

Из интересных разработок, напрямую касающихся Silverlight, стоит отметить недавний релиз закрытой бета-версии Popfly.

Popfly – это Silverlight-приложение, позволяющее пользователю создавать машапы, виджеты и другие приложения, используя простой веб-интерфейс. Все подобные проекты появились на волне успеха Yahoo Pipes – инструмента создания все тех же машапов и мини-приложений с помощью drag’n’drop интерфейса. Microsoft пришла в эту нишу рынка своевременно и, по мнению авторитетного TechCrunch , сейчас опережает всех своих конкурентов.
А опережает она их по одной простой причине – предоставление большего количества возможностей. В Popfly можно создавать машапы, приложения, веб-страницы, виджеты, объединять все это в социальную сеть (как часть платформы Live Spaces). В Live Spaces, в свою очередь, можно объединиться с другими пользователями и создателями приложений. В общем – всесторонняя связь. Кроме этого – с недавнего времени PopFly умеет не только «дружить» сервисы, но и создавать «казуальные» игры, причем делать это могут даже те, кто никогда ранее подобным не занимался.
Изначально начинающему игростроителю доступен набор из более чем 15 шаблонов игр, сотен картинок, анимаций, звуков и других элементов будущих игр. Все это создается и редактируется в понятном визуальном режиме. Там же можно и поиграть.

Интерфейс – заставляет застыть от изумления. Создание и управление происходит путем перетаскивания и соединения блоков, как показано на скриншоте:

Каждый блок выступает в роли модуля, использующего API веб-сервиса. Сегодня таких блоков – несколько десятков, что предоставляет широкие возможности работы с различными сервисами.

Как и обещалось – пара слов о Moonlight . Это результат совместного сотрудничества Microsoft и Novell , минувшей осенью заключивших соглашение, основной идеей которого было: портирование Silverlight-приложения на операционные системы Linux .
И совсем недавно состоялся релиз Moonlight 1.0. Он позволяет запускать приложения, написанные на Silverlight 1.0, но сейчас, параллельно с веткой Silverlight 1.1 Alpha – Silverlight 2 Beta 1 идет работа над следующими версиями Moonlight.

Еще одной интересной деталью, касающейся Microsoft Silverlight является запуск интернет-вещания первого канала на основе этой технологии. С 9-го октября 2007 года широкая аудитория может ознакомиться с преимуществами этого решения. Исполнителем заказа выступала компания SMS Media Solution , которой помогало российское представительство Microsoft. Ну а последним маленьким достижением была трансляция инаугурации нового президента России Дмитрия Медведева в прямом эфире с использованием… чего? Silverlight. Трансляцию можно было внедрить в любой сайт, поддерживающий iframe , путем простой вставки куска кода.

Редактор авторитетного онлайн-издания ReadWriteWeb , Ричард МакМанус , в своем прогнозе на 2008 год отмечал, что технологии, подобные Silverlight будут набирать все больше поклонников: разработчиков и пользователей. Особенно принимая в расчет тот факт, что Microsoft не поленилась и портировала Silverlight на мобильные устройства . В марте Nokia анонсировала поддержку технологии в своих телефонах серий S40 и S60, а также в Nokia 770 и n8x0. Дополнение в них доступно в виде плагина для браузеров поддерживаемых платформ.

Взглянув на некоторые примеры работы Silverlight-приложений удивляешься — ничего подобного до недавнего времени не существовало

Естественно – даже не каждый пятый пойдет пытаться создать свое приложение на Silverlight только для того, чтобы увидеть его возможности воочию. К тому же – как собственными глазами увидеть возможности Сильверлайт как платформы для разработки интерактивных бизнес-решений.
По этой причине Microsoft запустила сайт для работы больницы. Patient Journey Demonstrator – это проект британского отделения Microsoft, уже готовый для предварительного публичного просмотра. Это не финальная версия, однако основной функционал доступен и представляет некоторый интерес.
Приложение состоит из трех частей, вместе представляющих «один день из жизни медицинского учреждения со стороны различных пользователей». Полностью интерактивный интерфейс проведет вас через все приложение, а встроенный «гид» покажет, как воспользоваться всеми возможностями.
Посмотреть действительно есть на что, можно отметить хотя бы работу с кардиограммами с использованием технологии DeepZoom – много графической информации, которая легка в использовании.

До недавнего времени Microsoft продвигала свой продукт, в основном, силами партнеров и в деле создания альтернативы технологии Flash добилась определенных успехов. Как минимум – плагин Silverlight можно установить в любой браузер, однако критическая масса никак не набиралась. И несколько дней назад корпорация нанесла мощный удар, который может изменить ситуацию.
Вместе с началом тестирования нового сайта Microsoft Download Center , который создан с использованием Silverlight, каждый пользователь, заходящий на ресурс, будет получать предложение о скачивании и установке плагина Сильверлайт, в ином случае часть контента и функционала сайта ему будет недоступна.

Приложения Silverlight

В Silverlight используется традиционная технология расширения функциональности браузеров - надстройки (plug-ins) .

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

На рисунке ниже показаны два вида страницы, содержащей объект Silverlight. Вверху приведена страница, которую пользователь видит, когда надстройка Silverlight не установлена. В этот момент пользователь может щелкнуть на кнопке Click now to install (Установить сейчас), чтобы перейти на сайт Microsoft, где будет предложено установить надстройку. Внизу показана та же страница после установки надстройки Silverlight:

На данный момент надстройка Silverlight установлена на 75% компьютеров, подключенных к Интернету (включая настольные компьютеры и мобильные устройства). Если учитывать только компьютеры, на которых установлены Windows и браузер Internet Explorer, процент Silverlight будет выше. Такие показатели впечатляют, однако надстройки Flash все же установлены на большем количестве веб-устройств (96%).

Требования к системе, предъявляемые Silverlight

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

Windows

Версия Silverlight 5 работает на компьютерах под управлением Windows 8, Windows 7, Windows Vista и Windows XP. Минимальные версии браузеров, поддерживающих Silverlight - Internet Explorer 6, Firefox 1.5 и Chrome 4.0. Надстройки работ также под управлением Windows 2000, но только с Internet Explorer 6. Другие браузеры, такие как Opera и Safari (для Windows) в настоящий момент тоже поддерживают надстройку Silverlight, однако она для них пока что не документирована.

Macintosh

Надстройки Silverlight работают на компьютерах Mac с операционной системой версии OS X 10.4.8 или более поздней. Должен использоваться процессор Intel (оборудование PowerPC недопустимо). Для Silverlight минимальные версии браузеров - Firefox 2 и Safari 3. На мобильных устройствах Apple, включая iPhone, iPod Touch и iPad, приложения Silverlight не поддерживаются.

Linux

В настоящее время надстройки Silverlight 5 на Linux не работают, однако команда Mono создает открытую библиотеку для Silverlight (проект Moonlight , одобряемый компанией Microsoft). Последняя стабильная официальная версия Moonlight поддерживает приложения Silverlight 2, но сейчас уже выпущена бета-версия, поддерживающая Silverlight 4. Прогресс медленный, поэтому пока что неизвестно, когда Moonlight будет поддерживать Silverlight 5, если вообще будет.

Windows Phone

Silverlight - одна из двух официально поддерживаемых технологий разработки приложений для Windows Phone 7 и 8 (другая - Microsoft XNA).

Для установки надстройки Silverlight необходим небольшой файл (менее 10 Мбайт), который легко загрузить, поэтому установить надстройку Silverlight не сложнее, чем Flash.

Silverlight и Flash

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

Для разработчиков.NET создание веб-сайтов с использованием содержимого Flash выглядит вполне естественным. Однако для Flash нужны отдельные инструменты разработки - совершенно другой язык программирования (ActionScript ) и другая среда программирования (Flex ).

Хуже всего то, что не существует простых способов интеграции содержимого Flash с серверным кодом.NET. В частности, для обращения объекта Flash к компоненту.NET потребуется приложить немалые усилия. Использование серверного кода.NET для вывода содержимого Flash (например, для создания элемента управления ASP.NET, который манипулирует содержимым Flash) - еще более тяжелая задача.

По сравнению с Flash, Silverlight существенно облегчает манипулирование содержимым.NET. Главная цель Silverlight - обеспечить создание приложений, столь же мощных и кроссплатформенных, как и Flash, на основе первоклассной платформы программирования.NET. Благодаря этому разработчики могут создавать клиентский код Silverlight на том же языке (C# или VB), что и серверный код. Кроме того, разработчики могут применять в клиентском коде Silverlight те же абстракции, что и в серверном коде, включая потоки ввода-вывода, элементы управления, коллекции, обобщенные объекты и средства LINQ.

Silverlight и HTML5

Когда создавалась технология Silverlight, предполагалось, что ее главным назначением будет разработки мощных веб-страниц, а ее главным конкурентом - технология Adobe Flash. Однако после выпуска нескольких версий Silverlight мир изменился. Приложения Adobe Flash по-прежнему поддерживаются практически каждым настольным компьютером, но они оказались исключенными из таких популярных продуктов Apple, как iPhone и iPad. В результате ниша мобильных устройств стала тяготеть к другим решениям, таким как одноплатформенные специализированные приложения (выполняющиеся только в одной операционной системе) и HTML5.

На данный момент все согласны с тем, что HTML5 - это будущее Интернета (но не сейчас, а когда-нибудь потом, причем когда именно - неизвестно). Однако средства, обещаемые платформой HTML5 в неопределенном будущем, уже сейчас реализованы в технологиях Flash и Silverlight. К тому же Flash и Silverlight предоставляют много дополнительных средств. Для некоторых приложений эти дополнительные средства не очень нужны.

Без сомнения, позиции HTML5 со временем будут усиливаться. Но до того времени разработчики вынуждены выбирать между средствами, которые поддерживаются уже сейчас (Silverlight и Flash), но никогда не будут поддерживаться мобильными устройствами, и средствами, которые не поддерживаются сейчас, но в будущем будут поддерживаться всеми устройствами, включая мобильные. В последнем случае разработчик предпочтет HTML5. Эта дилемма выбора между мощными и доступными средствами. Технология Silverlight относится к мощным средствам, a HTML5 - к доступным, потому что сейчас она поддерживается всеми настольными браузерами (но не всеми мобильными устройствами).

В связи с указанными тенденциями многие разработчики Silverlight не уверены в том, что этой технологии уготовано место в будущем Интернета. Поскольку в данный момент будущее довольно неопределенное, учитывайте следующие факторы:

    Реализация и поддержка HTML5 еще не завершены. В частности, в Internet Explorer поддерживаются не все средства HTML5. В IE 10 некоторые средства HTML5 были обещаны, но так и не появились. Многие средства доступны в IE 9, а в IE 8 средств HTML5 почти нет. Это очень плохо, потому что IE 8 - все еще самый популярный браузер для операционной системы Windows XP, которая и не думает уходить со сцены (она по-прежнему установлена на большинстве настольных компьютеров). По этим причинам HTML5 остается менее поддерживаемой технологией, чем Silverlight, и данная ситуация не изменится еще как минимум в течение нескольких лет.

    В Silverlight есть средства, которых нет в HTML5. Даже браузеры, полностью поддерживающие HTML5, далеко отстают от Silverlight в некоторых ключевых областях. Они не предоставляют мощные средства потокового видео, аппаратного ускорения графики, вызова компонентов Windows, доступа к файлам, запуска приложений вне браузера, работы в сети и т.д. Тяжело себе представить, что платформа HTML5 когда-нибудь сможет состязаться с некоторыми специальными средствами Silverlight, такими как элементы PivotViewer, объединяющие задачи анимации, фильтрации данных и масштабирования изображений в одном пакете, удобном для использования.

    Silverlight базируется на высокоуровневых средствах API. Можно создавать приложения, не пользуясь такими средствами, как связывание данных, шаблоны и стили, но они позволяют это делать быстро и эффективно. Многие задачи, которые можно решить в HTML5, требуют жесткой дисциплины и тщательного планирования. Их можно решать с помощью JavaScript, но его синтаксис не поддерживает строгую типизацию, в результате чего создавать на JavaScript крупные приложения практически невозможно. Кроме того, на JavaScript все процедуры анимации нужно писать вручную, а поддержка многопоточности чрезвычайно неуклюжая, что не позволяет выполнять сложные задачи в фоновом режиме.

    Silverlight поддерживается высокоуровневыми инструментами разработки. Благодаря Visual Studio разрабатывать приложения Silverlight так же легко, как обычные настольные приложения. Программа Expression Blend существенно облегчает создание сложных пользовательских интерфейсов, содержащих мощные графические эффекты и анимацию.

    Silverlight легко интегрируется с ASP.NET . В частности. Silverlight позволяет передавать запросы к серверной базе данных посредством веб-службы. Благодаря этому многие эксперты считают, что даже после того, как HTML5 завоюет Интернет, Silverlight останется предпочтительной технологией для закрытых корпоративных сетей.

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

Silverlight и Metro/Windows 8

Когда компания Microsoft объявила о создании Windows 8 на основе новой модели программирования мощных клиентских приложений (она называется Metro), развитие платформы Silverlight приостановилось. Многие разработчики задумались: не станет ли в ближайшем будущем новая модель программирования "убийцей" Silverlight?

Ответ на это вопрос - категорическое "Нет!". Технология Metro предназначена для облегчения создания приложений совершенно другого типа: легковесных, ориентированных на сенсорные экраны и интенсивный обмен данными. Эти приложения предназначены для будущих поколений планшетных компьютеров на базе Windows 8. Технология Metro (как и ее ближайшая родственница WPF) конкурирует с платформой iPad. Приложения Metro не могут выполняться на платформах, не принадлежащих Microsoft, и даже более того - на любой версии Windows, отличной от Windows 8. По этой причине технология Metro не является конкурентом и не представляет интереса для разработчиков Silverlight.

В будущем ниша Silverlight может сузиться. Она как бы оказалась зажатой между кроссплатформенными приложениями HTML5, постепенно завоевывающими все большую долю рынка, и приложениями Metro и iPad для мобильных устройств. Однако пока что Silverlight занимает (и еще долгое время будет занимать) обширное пространство между этими технологиями.

Silverlight и WPF

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

Технология WPF предназначена для создания сложных приложений Windows. Средства WPF не только упрощают процесс разработки благодаря удобным высокоуровневым средствам, но и обеспечивают более высокую производительность благодаря выводу любого содержимого непосредственно через конвейер DirectX.

Очевидно, что Silverlight не может дублировать все средства WPF, поскольку многие из них зависят от возможностей операционной системы, включая специфичные для Windows драйверы и средства DirectX. И все же, вместо того чтобы изобретать для клиентской стороны совершенно новый набор элементов управления и классов, разработчики Silverlight применили подмножество модели WPF. Если у вас есть опыт работы с WPF, вы будете удивлены тем, как сильно Silverlight похожа на WPF. Ниже перечислено несколько общих особенностей:

    Для определения пользовательского интерфейса Silverlight (коллекции элементов, заполняющих область содержимого) используется разметка XAML, как и в WPF. В Silverlight можно даже отображать данные с помощью того же синтаксиса связывания данных, что и в WPF.

    Silverlight позаимствовала у WPF многие базовые элементы управления и механизм шаблонов (для изменения внешнего вида стандартных элементов управления).

    Для рисования двухмерных изображений в Silverlight используются фигуры, контуры, преобразования и кисти. Все эти средства практически такие же как в WPF.

    Рабочая среда Silverlight предоставляет декларативную модель анимации, основанную на последовательности раскадровок и работающую так же, как и анимационная модель WPF.

    Для воспроизведения аудио- и видеофайлов используется класс MediaElement, как и в WPF.

Развитие Silverlight

Версия Silverlight 1 была весьма "скромной". Она содержала средства поддержки двухмерного рисования и воспроизведения мультимедийных файлов. В ней не было даже драйвера среды выполнения CLR и компилятора языков.NET, поэтому разработчики были вынуждены писать код на JavaScript.

Версия Silverlight 2 была радикально изменена. В нее были добавлены среда CLR, подмножество классов.NET Framework и модель пользовательского интерфейса на основе WPF. В результате Silverlight 2 стала одной из наиболее ожидаемых технологий за всю историю Microsoft.

Следующие версии Silverlight не столь амбициозны, как Silverlight 2. В Silverlight 5 сохранена модель разработки Silverlight 2 и добавлено несколько тщательно отобранных новых средств. Перечислим преимущества последней версии:

Повышение производительности

Приложения Silverlight 5 быстрее запускаются, поддерживают 64-разрядные браузеры и обеспечивают более четкое отображение сглаженных мелких шрифтов.

Векторная печать

Улучшена модель печати путем добавления драйверов PostScript . В результате печать выполняется быстрее и требует меньше памяти.

Аппаратное ускорение трехмерной графики

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

Гибкое воспроизведение

Воспроизводить видеоклип теперь можно быстрее или медленнее без изменения тональности звукового сопровождения. Это позволяет просматривать содержимое (например, видеоурок) с выбранной скоростью.

Просмотр сводных таблиц

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

Отладка XAML

Теперь можно устранять ошибки связывания данных путем установки точек прерывания в выражениях связывания.

Дочерние окна

Приложения Silverlight, выполняющиеся вне браузера, теперь могут отображать дополнительные окна, как настольные приложения Windows. Для этого даже не нужны расширенные права доступа.

Поддержка доступа к файлам и вызовам P/Invoke

Приложения, выполняющиеся с расширенными правами доступа, могут обращаться к любым файлам на жестком диске, к которым пользователь имеет доступ (за исключением требующих привилегий администратора). На компьютере Windows можно применять вызовы P/Invoke для обращения к унаследованным функциям языка С из библиотек Windows API.

Обратная совместимость Silverlight 5

Может ли существующее приложение Silverlight, разработанное в предыдущей версии, выполняться на компьютере, на котором установлена надстройка Silverlight 5? Это не такой уж простой вопрос, как может показаться на первый взгляд, потому что в Silverlight 5 внесены некоторые тонкие изменения и устранен ряд ошибок, что может повлиять на работу приложения и даже изменить его поведение.

Чтобы изменения не повлияли на работу существующих приложений, в Silverlight 5 используется режим quirks (нестандартный) . Когда надстройка Silverlight 5 загружает приложение, скомпилированное для предыдущих версий Silverlight, она автоматически включает нестандартный режим, точно эмулирующий поведение среды выполнения предыдущей версии Silverlight.

Более подробную информацию о тонких различиях между Silverlight 5 и Silverlight 4 можно найти в статье Ensuring That Your Silverlight Applications Work with Silverlight 5 на сайте MSDN.

Рекомендуем почитать

Наверх