| « RAFPUG: День Космонавтики, Питер | Статья о RIA в журнале «Мир ПК» » |
Исправленный Adobe AIR-Microsoft Silverlight FAQ
После выхода 25 февраля 2008 финальной версии Adobe AIR и выхода 5 марта 2008 Microsoft Silverlight 2.0 Beta 1 в связи с MIX’2008, многие предположения из предыдущей статьи, касающейся вопросов конкуренции AIR и Silverlight, прояснились. Здесь я приведу исправленный и дополненный FAQ, который постараюсь содержать в актуальном состоянии. Предыдущий вариант оставлю для истории.
Итак:
Что такое Silverlight?
Silverlight представляет собой браузерный плагин (официально Microsoft Silverlight Runtime), позволяющий создавать насыщенные интернет-приложения (RIA) на базе технологий от Microsoft. Silverlight базируется на декларативном языке разметки XAML, который является сердцем технологии WPF, являющейся частью Microsoft .NET 3.0//3.5. Кодовым названием Silverlight было WPF/E (WPF Everywhere).
Какие версии Silverlight существуют?
Изначально планировался выпуск версии 1.0, нацеленной на представление в сети Интернет насыщенного медиа-контента и спустя какое-то время версии 1.1, обладающей большинством особенностей WPF. Версия Silverlight 1.0 была выпущена 5 сентября 2007. Тогда же была выпущено последнее обновление Silverlight 1.1 alpha. 29 ноября 2007 было официально объявлено, что версия Silverlight 1.1 переименовывается в Silverlight 2.0 ввиду того, что список нововведений столь широк, что тянет на мажорный номер версии. Это также по поводу распространенной в сети попугайской критики Silverlight, которая, якобы, не успела дожить до 1.1, а уже ожидается 2.0. Просто воспринимайте это как переименование. Таким образом 5 марта 2008 вышла версия Silverlight 2.0 Beta 1.
В чем отличие версий Silverlight?
Версия 1.0 не содержит в себе контролов, лэйаутов, а в качестве языка программирования используется JavaScript. Основная возможность - HD-видео. Позиционируется как релиз, направленный на доставку пользователям насыщенного медиа-контента. Версия 2.0 (бывшая 1.1) является достаточно полноценным подмножеством WPF и содержит в себе мощный набор контролов, лэйаутов, сетевых протоколов, классов .Net 3.5 (включая LINQ), а также возможность локального хранения данных (что позволит таким приложениям работать и в оффлайне). Также SL 2.0 обладает богатыми возможностями по кастомизации/скинизации компонент (также, как в WPF). Языками написания приложений могут быть JavaScript, CLR--языки (C#, VB Итд.), DLR--языки (IronRuby, IronPython, Managed JScript). Подробнее о списке особенностей Silverlight 2.0 можно прочитать тут.
Какие платформы поддерживает Silverlight?
Silverlight 1.0 (как и Silverlight 2.0) поддерживает Windows и MacOS. Silverlight 2.0 будет также поддерживать Linux (Moonlight) благодаря партнерскому соглашенияю с Novell.
Как осуществляется установка Silverlight-приложений?
Silverlight-приложения не нуждаются в установке. Браузерный плагин сам скачивает с сервера необходимые файлы и отображает их. Соответственно, не требуется специальной подготовки файлов для разных браузеров и платформ. Если же у пользователя отсутствует установленный Silverlight-плагин, то вместо приложения он увидит специальный бэйдж, говорящий о необходимости установить плагин и осуществляющий эту установку.
Содержит ли в себе Microsoft Silverlight Runtime контролы и DLR?
Нет. Все контролы содержатся во внешних dll, которые подгружаются при необходимости. Также и DLR не включен в среду исполнения: соответствующие dll подгружаются при необходимости их использования. Так, для использования IronPython пользователь будет вынужден загрузить больше мегабайта dll-ек. Для IronRuby это будет около 700 k. Понятно, что они кэшируются браузером, но для приложения с другого домена придется загружать их повторно. Контролы в общей сложности занимают также больше мегабайта, и все это пользователь будет вынужден загружать с приложением. Общий вес пользовательских библиотек, не включенных в Microsoft Silverlight Runtime и, соответственно, необходимых для загрузки пользователем (далеко не факт, что будут использоваться все эти библиотеки) составляет свыше 5 мегабайт.
Сколько стоит разработка Silverlight-приложений?
Для разработки Silverlight-приложений доступен бесплатный SDK. SDK доступен только для Windows! Также существует Microsoft Silverlight Tools Beta 1 for Visual Studio 2008, который доступен для Microsoft Visual Studio 2008 Standard и выше. Таким образом, разработка Silverlight-приложений в бесплатной VS Express недоступна, несмотря на анонс Скотта Гатри (если не принимать во внимание хаков третьих сторон). Для дизайнеров доступен платный Expression Blend, позволяющий работать с теми же самыми проектами, что и VS, и предназначенный для работы с XAML (подробнее тут). Таким образом, можно бесплатно создавать Silverlight-приложения с использованием SDK, но бесплатных инструментов не существует. Все эти инструменты доступны только на Windows.
Существует ли у Microsoft кроссплатформенная среда для создания настольных насыщенных интернет-приложений (RIA)?
На данный момент такой технологии у Microsoft .нет, и она пока не анонсирована. Десктопная платформа WPF, с помощью которой можно создавать насыщенные интернет-приложения, доступна лишь на платформе Windows. Silverlight же, являющийся кроссплатформенным, не доступен на десктопе и никакой официальной информации об обратном нет. Единственной кроссплатформенной платформой от Microsoft, которую можно установить на большое число современных компьютеров, можно считать Microsoft Windows ![]()
Доступны ли исходные коды Silverlight?
Исходные коды Microsoft Silverlight Runtime не доступны. Доступны исходные коды и модульные тесты контролов. Также доступны исходные коды DLR.
Приведите список ресурсов по Silverlight.
Пожалуйста:
- Silverlight 2 Beta 1 Runtime.
- Microsoft Silverlight 2 Software Development Kit Beta 1.
- Silverlight 2 Tools for Visual Studio 2008 and SDK.
- Expression Studio 2 Beta (включает Blend, Design, Encoder, Media and Web).
- Expression Blend 2.5 March 2008 Preview.
- Silverlight 2 Beta 1 Controls Source (включая тесты).
- Silverlight DLR.
- Документация по Silverlight 1/2 в виде CHM.
- Русскоязычные ресурсы по Silverlight.
Что такое Adobe AIR?
Adobe AIR (Adobe Integrated Runtime), которая имела кодовое название Apollo, представляет собой среду исполнения, позволяющую портировать и создавать веб-приложения, стирающие границу между операционной системой и вебом. Используя существующие навыки, разработчики могут создавать веб-приложения, хорошо интегрирующиеся в десктоп.
Что подразумевается под интеграцией AIR-приложений в операционную систему?
Это подразумевает, что веб-приложения могут быть запущены с рабочего стола (как обычные приложения), иметь доступ к файловой системе, подразумевает ассоциации расширений файлов с приложением (например, запуск нашего AIR-приложения при клике на файл something.smthng), работу приложений в многооконном режиме с родными для операционной системы окнами, возможность перетаскивания файлов из операционной системы, возможность использования Rich Clipboard, возможность использования меню, системного трея, доков (для Маков), контекстного меню, оповещений (всплывающие из трея окошки с информацией о неком событии), локального хранилища данных (включая защищенное хранилище), встроенную базу данных (SQLite).
Какими навыками должен обладать разработчик для создания AIR-приложений?
В AIR-приложениях можно использовать Flash/Flex, HTML/JavaScript/AJAX и PDF. Корневым документом AIR-приложения может быть как HTML-файл, так и swf. При этом можно встраивать в текущие и новые окна приложения как HTML-элементы, так и swf. Также имеется возможность встраивания PDF-документов (при наличии у пользователя Acrobat Reader’а). Для работы с HTML используется движок WebKit, тот же самый, что и в браузере Safari. Возможет доступ из swf-документов к элементам HTML DOM, а также вызов JavaScript-функций и наоборот. То есть большинство современных клиентских веб-разработчиков могут с легкостью создавать AIR-приложения.
Какие версии среды исполнения AIR существуют на данный момент?
25 февраля 2008 была выпущена версия 1.0, которая является на данный момент текущей.
Какие платформы поддерживает Adobe AIR?
Версия 1.0, выпущенная 25 февраля 2008 г. поддерживает Windows и MacOS. В настоящее время идет работа над выпуском версии для Linux.
Каким образом следует подготавливать AIR-приложения для установки на различных платформах?
AIR-приложения (файлы с расширением *.air) уже готовы к установке для всех поддерживаемых платформ. Специальной подготовки файла для каждой платформы не требуется.
Каким образом осуществляется установка AIR-приложений?
Установить AIR-приложения можно как непосредственно с веб-странички, так и скачав файл к себе на локальную машину. В первом случае на веб-страничке размещается специальный бэйдж, который проверяет наличие у клиента среды исполнения AIR и при необходимости устанавливает ее (вес среды около 10M). После установки (определения наличия) среды исполнения AIR с помощью универсального инсталлера устанавливается само приложение. Каждое приложение может быть подписано (включая сертификаты, заверенные certificate authorities), информация о подписи указывается при установке, и пользователь сам волен решать, доверяет ли он издателю или нет. При установке приложения, скачанного пользователем на локальную машину, наличие среды исполнения не проверяется. Просто при запуске *.air-файла будет задан вопрос о том, с какой программой ассоциировать данное расширение. При установленной же среде исполнения AIR автоматически запустится универсальный инсталлер. Для приложений также доступна проверка обновлений приложения и установки новых версий.
Сколько стоит разработка AIR-приложения?
Стоимость разработки AIR-приложения, если не учитывать оплату услуг специалистов, состоит из стоимости SDK и инструментов для разработки. AIR SDK бесплатен и доступен для скачивания.. Он содержит в себе AIR Debug Launcher (ADL) и AIR Developer Tool (ADT), которые служат для запуска приложения во время отладки и для подготовки версии приложения, пригодной для установки конечным пользователем. Также SDK содержит шаблон дескриптора AIR-приложения, примеры AIR-бэйджа и файлы, представляющие алиасы AIR-классов для JavaScript. Для создания же компонентов, используемых при упаковке AIR-приложения инструментом ADT, можно использовать бесплатный Flex SDK (для создания swf-файлов), который уже включает в себя AIR SDK, среду разработки Flex Builder на базе Eclipse, либо же Adobe Flash, с помощью которых можно создавать swf-файлы. Для работы с AIR-приложениями на базе JavaScript существует бесплатное AIR-расширение для бесплатной Aptana Studio.. Таким образом есть как бесплатные SDK для разработки приложений, так и бесплатные инструменты.
Доступны ли исходные коды AIR?
Исходные коды среду исполнения AIR не доступны. Не доступны также исходные коды инструментов ADL и ADT. Доступными являются лишь исходные коды Flex SDK (включая Flex framework) и WebKit (плюс виртуальная машина ActionScript). Все это можно найти на сайте Adobe Open Source.
Как мы видим, на данный момент Silverlight никак не является конкурентом Adobe AIR и играет на разных с ним полях. С точки зрения конкуренции, конкурентом Silverlight можно назвать Flash-плеер от Adobe.
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
2 comments
да уж хорошее переименование, при установленной версии 2.0 перестают рабоать все примеры созданные для версии 1.1, то есть совместимости версий совершенно нет
Ну вообще-то ни в одной технологии не гарантирована совместимость между альфами и бетами. Мало того, декларировано обратное. Вы текст внимательно прочитайте. Ни релиза 1.1, ни релиза 2.0 пока не было. Была альфа 1.1 и бета 2.0. Думаю, что во второй бете 2.0 будет куча несовместимостей с первой бетой. И это нормально. Эти релизи не для production, а исключительно для early adopters. Если есть боязнь использования версий в процессе разработке и боязнь несовместимостей между ними, никто не заставляет их пробовать. Можно просто дождаться релиза 
