Рубрики: Adobe Integrated Runtime (AIR), Sample Apps
Первая часть отчета о встрече RAFPUG в Самаре
Читатели этого блога уже знают, что в субботу, 20 декабря, в Самаре проходила юбилейная встреча Русскоязычной Группы Пользователей Flash-платформы от Adobe (Russian Adobe Flash Platform User Group, RAFPUG) (нам исполнился год). Анонсы этой встречи можно найти тут и тут. По свежим следам хочется опубликовать совсем небольшой отчет о встрече, который будет сопровождаться фотографиями (кликабельны!). Хочется надеяться, что впоследствии появится отчет с материалами встречи (хотя видео одного из докладов уже успел разыскать и опубликовать Рост).
Итак, лезем под кат и смотрим фотографии (осторожно, трафик!).
L'enfer du Nord: Paris - Roubaix Tour de Flex Tour de Flex
Кстати, на Flex.org появилось замечательное AIR-приложение, которое позволяет довольно просто и интересно изучать Flex. Оно содержит постоянно пополняемые примеры кода, организованного по разным темам и группам, которые довольно легко. наглядно и интересно изучать. Называется приложение Tour de Flex. Рекомендую к установке.
Также приложение может оказаться полезным, например, чтобы быстро показать вашему менеджеру проекта сколько всего крутого и интересного есть во Flex (с технической точки зрения) и склонить его к использованию этой технологии. Упражнение на дом: проделайте то же самое с заказчиком.
Как вы поняли, приложение может оказаться незаменимым, а в дополнение к нему имеется еще и Eclipse-плагин. который держит список примеров под рукой и позволяет быстро запускать приложение с нужным примером. Информация по плагину также на страничке приложения.
Пора работать дальше ![]()
Катализаторы творческой активности
Как мы знаем, сегодня в США открывается Adobe MAX — ключевое событие, касаемое Flash-платформы и RIA-технологий от Adobe. Некоторым из русскоязычных читателей повезет, и они смогут попасть на это событие (по крайней мере в декабре в Милане). Ну а остальным лузерам и неудачнегам (к коим я с полным правом причисляю и себя) останется лишь тихонько убить себя апстену.
Но это все лирика, а по сути можно сказать, что часть грандиозных новостей, которые готовились к этому событию, уже известны. Перечислю их вкратце:
Thermo, инструмент для “бесшовного” взаимодействия разработчика и дизайнера, о котором мы уже писали, отменяется. Его не будет. Thermo умер
Да здравствует Adobe Flash Catalyst! 
Говоря проще, инструмент сменил свое кодовое название на официальное. Публичная бета будет доступна в начале 2009-го года, но все посетители MAX’а получат ее раньше (MAX preview build). И, судя по всему, он пока доступен только для Маков, что лично меня вполне удовлетворяет. Также стал доступным для широкой публики блог команды разработчиков Adobe Flash Catalyst.
- Также посетители MAX’а получат билд Flex Builder 4, который может работать с Gumbo. В новой версии среды будут реализованы грандиозные фичи: генерация геттеров/сеттеров (уже есть с помощью Eclipse Monkey), генерация кода для событий (Илья Панин показывал на FlexCamp’е в Москве — опять Eclipse Monkey), новый Package Explorer и тултипы для ASDoc’ов, пользовательские шаблоны для MXML, ActionScript, и CSS. Шаблоны кода a la JDT там отсутствуют. Зато есть интеграция с
ThermoFlash Catalyst. Также будет монитор сетевой активности для Flex-приложений (полезная фича) и поддержка Flex Unit (вот это интересно!). Добавятся новые возможности у отладчика (подробности в блоге Майка Мориарти). Помимо всего обещают еще сильнее упростить создание CRUD для большого количества серверов и сервисов с помощью Client Data Management (CDM) (про эти возможности пишет Анил Чаннаппа). - Вышел Adobe AIR 1.5 для Mac и Windows. До конца года обещают для Linux. Он теперь использует новый, более производительный JavaScript-движок SquirrelFish. Среди новинок encrypted база данных для хранения приватной информации. Ну и то, чего мы ждали: поддержка новых возможностей Flash Player 10. AIR 1.5 доступен не только посетителям MAX’а, а всем. Причем уже сейчас.
- Предварительная версия Adobe Flash Player 10 для смартфонов, созданная в рамках Open Screen Project, также будет демонстрироваться на MAX’е.
- Adobe Flash Player 10 для 64-bit Linux.
Проект Alchemy на Adobe Labs. Портирование C/C++ кода на Flash-платформу, которое позволит использовать существующий код (например, работа с аудиокодеками) во Flash-приложениях. При этом такое портирование происходит эффективно с точки зрения производительности (как обещают, исполняться все это будет всего лишь в 2-10 раз медленнее, чем оригинальный нативный код). Естественно, генерируются не ActionScript-классы, а соответствующий байткод. На страничке проекта можно скачать сам инструментарий, который позиционируется как исследовательский проект, примеры портирования аудиокодека OggVorbis и AS Crypto Wrapper, а также интервью в Бранденом Холлом, осуществимшим порт OggVorbis. Обещают адекватное портирование платформонезависимого кода. В общем, очень интересно
Также рекомендую официальный подробный FAQ.Среди возможных способов использования данного инструментария предлагается, например, быстрая работа с PDF прямо во Flash-плеере с использованием C-библиотек, существующих в Adobe, либо. например, импорт изображений в формате RAW. Также есть сведения, что в недрах Adobe имеются как минимум интерпретатор Python, который работает во Flash -плеере (спасибо за ссылку Diestro). В общем, применение достаточно богатое.
На пленарном докладе второго дня MAX в Сан-Франциско были продемонстрированы также портированные во Flash-платформу Quake и игровая приставка Nintendo.
Вся эта информация доступна в официальном пресс-релизе, посвященном MAX. Также можно прочитать новость в блоге InsideRIA.
Хочу еще также заметить, что если есть крупные конкуренты, то все новости обычно ходят парами. Мы это уже замечали при выходе Flash Player 10 на следующий день после выхода Silverlight 2. Сегодня тоже не преминули отметиться сотрудники Microsoft. Скотт Гатри написал в своем весьма авторитетном блоге пост, посвященный Silverlight 3 и не только.
Что хочется отметить?
Silverlight 2 вышел месяц назад и победно шествует по планете. Он загружен уже более чем на 100 миллионов машин пользователей, в чем ему помогают программы Microsoft SMS и Microsoft Update, позволяющие системным администраторам легко устанавливать среду исполнения для большого количества пользователей в корпоративных сетях.
Скотт Гатри таже отметил, что в результате всего этого хоть какая-нибудь версия Silverlight стоит уже на каждом четвертом компьютере
во Вселенной. Как видим, большой прогресс за месяц.- С удовлетворением хочется отметить, что ересь от Microsoft, в результате которой термин RIA там стал расшифровываться как Rich Interactive Applications (насыщенные интерактивные приложения), а не как полагается Rich Internet Application (насыщенные интернет-приложения), долго не продержалась (подробнее об этом можно прочитать у Роста). Скотт Гатри уже упоминает Rich Internet Applications. Что, в общем, радует. Бессмысленная путаница терминов на пользу не идет.
- Silverlight 3 будет существенно расширен по части предоставления пользователю медиа-возможностей (например, кодек H.264), по части графических возможностей (заявлено 3D и аппаратная акселерация графики), расширения в области связывания данных (data binding), а также новые контролы. Скотт говорит, что в рукаве у них много чего еще (лично я готов подозревать поддержку камеры и микрофона, а также работу с битмапами). Visual Studio планирует обзавестись графическим дизайнером для разработки Silverlight-приложений.
Такие вот новости. А что у вас интересного?
Определение версии AIR runtime
Иногда надо узнать, какая версия AIR runtime стоит на вашей машине. Это может понадобиться, например, чтобы написать баг-репорт.
Думаю, все умеют ее узнавать, но на всякий случай поделюсь своим способом, который работает на Windows XP (думаю, что на Висте не будет принципиальных отличий).
Для этого вам надо просто найти Adobe AIR в списке Add or Remove Programs (не знаю, как это по русски
)

После этого нажимаем на “Click here for support information” и видим номер версии:

Надеюсь, что кому-нибудь пригодится ![]()
Flash Player: революция
Сегодня, 1 мая, в День Весны и Труда, трудящиеся Американщины порадовали нас новыми повышенными обязательствами и перевыполнением плана! Ура, товарищи!
Ну а если серьезно, то Adobe делает четвертый, пожалуй самый серьезный, шаг по пути превращения Flash в открытую платформу. Что это за шаги?
- Adobe вносит исходные коды виртуальной машины ActionScript 3 и JIT-компилятора в проект Tamarin. Спустя некоторое время туда добавляется Tamarin Tracing - вариант AVM для устройств с ограниченными ресурсами.
- Flex и AIR SDK становятся опенсорсными.
- Adobe публикует формат AMF и выпускает в опенсорс BlazeDS сервер.
- Adobe запускает Open Screen Project.
Вот этот четвертый шаг, сделанный сегодня, и является предметом данного поста. Что же такое Open Screen Project? Это новая инициатива Adobe, которая включает в себя:
- Снятие всех лицензионных ограничений и публикация в открытом доступе форматов исполняемых файлов на Flash-платформе SWF и видеоформата FLV/F4V. Если раньше лицензия разрешала создавать программное обеспечение, генерирующее SWF-файлы, но полностью запрещала создавать ПО, этот формат воспроизводящее, то сейчас эти ограничения полностью сняты. Мало того, спецификация SWF 9 и FLV/F4V с сегодняшнего дня публично доступны.
- Также в скором времени станет доступным формат протокола Flash Cast, специально предназначенный для мобильных устройств.
- Ряд вендоров включились в инициативу Open Screen Project по созданию совместимых имплементаций Flash-плеера на различных устройствах (это как крупнейшие производители устройств, так и заинтересованные контент-провайдеры, с акцентом на видео).
- Снитие всех лицензионных ограничений на Flash Player и Adobe AIR со следующего мажорного релиза. Это означает, что приобретая устройство, содержащее такой плеер, вы не будете в том числе платить за лицензию. Также это предполагает свободную редистрибьюцию данных виртуальных машин.
- Публикация API для портирования Flash Player’а и AIR на различные устройства. Этот API призван служить целью создания совместимых версий Flash Player’а и AIR на различных устройствах. Все это касается следующих мажорных версий продуктов (Flash Player 10 и AIR 2).
К чему все это?
Это все к тому, что теперь задачей портирования Flash Player’а на различные платформы и устройства будет заниматься не Adobe, а сами заинтересованные вендоры/разработчики на базе предоставляемых форматов, протоколов и спецификаций. Не очень понятно, что будет с протоколом RTMP, который в основном служит для работы с потоковым видео и о публикации которого сведений пока не было. Трудно создать полностью совместимую имплементацию виртуальной машины если одна из ее частей закрыта. Будем следить.
Еще одной важной особенностью является то, что большинство инициатив будут доступны со следующими версиями виртуальных машин. Это означает, что шансов получить самую последнюю версию на своем мобильном устройстве гораздо больше (меня сильно напрягает FlashLite 2 на моем телефоне, для которого я не могу писать приложения на Flex).
Также нас может ждать множество различных имплементаций Flash-плеера, обладающих разными размерами, производительностью, глюками, дополнительными возможностями. Flash everywhere. Прямо как Java. И слоган:
Write once, debug everywhere!
станет нашей повседневной реальностью.
Каждый сможет на своей шкуре ощутить, насколько хороша или плоха проприетарность..
Среди плюсов можно будет отметить также появление различных реализаций Flash-плеера, которые можно будет гораздо легче встраивать в настольные приложения для создания тех же игр (помните бесконечную эпопею с альтернативным плеером Gnash?? То-то ребята сейчас радуются!).
В общем, нас ждет эпоха великих открытий! Будем смотреть вперед.
Ну и напоследок несколько ссылочек:
- Страница Open Screen Project.
- Замечательный FAQ.
- Пресс-релиз.
- Страничка для девелоперов с обращением Кевина Линча и ссылками на спецификации файловых форматов.
Новости от Adobe
Немного свежих новостей от Adobe (а в конце вас ждет сюрприз):
- Adobe выпускает первую публичную альфу Adobe AIR для Linux. Новость, в общем-то революционная, ибо означает освоение обещанной платформы. Вдобавок, обещается, что начиная с версии AIR 1.1 (минорные фичи и багфиксы) выпуск для всех трех платформ станет одновременным. Подробности тут.
- На самом деле выпуск среды исполнения для новой платформы - это еще полдела. Вряд ли вы завоюете лояльность пользователей такой платформы если предоставите им среду, но не предоставите инструментарий для разработки приложений. И если Flex SDK и раньше был кроссплатформенным, то Flex Builder для Linux отсутствовал. Вернее, альфа и была, но для создания AIR-приложений она не подходила. Теперь Adobe выпускают очередную альфу Flex Builder’а для Linux с возможностью создания AIR-приложений. Встречаем, линуксоиды!
- Adobe продолжают выпускать образцовые RIA. В последнее время появился Photoshop Express, который, имхо, не имеет ничего общего с Фотошопом, но приложение интересное (хотя, опять же, я пока не придумал для себя необходимости им пользоваться). Также можно получить один из 500 инвайтов в гораздо более интересное и эффектное RIA-приложение для онлайнового создания презентаций SlideRocket. Возможно, в истории RIA намечаются солидные шаги.
- Ну а тут я приберег самое вкусное. По информации из прямых источников российский офис Adobe в самое ближайшее время будет расширяться. И расширяться за счет девелоперского отделения, которое откроется в Москве. Насколько стало известно, на первых порах оно будет совсем не большим, и основная задача разработчиков - поддержка как раз этих самых онлайновых приложений (написание дополнительных подключаемых модулей и наши любимые баги). Новость грандиозная! Так что готовим свои резюме и ждем появления вакансий!
На этом на сегодня все.
Исправленный 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.
В Мавзолее на Красной площади открывается секретное софтверное подразделение, которое в ближайшие недели выпустит "убийцу" Flash, Silverlight и AIR
Внимание! Исправленный и дополненный вариант FAQ’а находится тут. Он будет поддерживаться в актуальном состоянии.
Данный пост ставит две задачи: рассказать о синдроме попугайства и предоставить небольшой FAQ по некоторым RIA-платформам. Дело в том, что после выхода 25 февраля релиза Adobe AIR 1.0 и после публикации 22 февраля в блоге Скотта Гатри статьи «First Look at Silverlight 2», в которой анонсировалась ближайшая бета Silverlight 2.0 (Beta 1), выпуск которой планируется к ближайшему MIX’у 5-7 марта 2008 г. (больше информации о MIX’08 тут), в «Компьюленте» появилась статья Владимира Парамонова «Microsoft готовит конкурента платформе Adobe AIR». Я не знаю, стоит ли винить Владимира Парамонова в дезинформации, либо он обладает какой-то сверхсекретной инсайдерской информацией из Microsoft (в чем я лично сомневаюсь, но до проверки данного факта осталось меньше недели).
Так или иначе, этот материал с тем же заголовком стали повторять разные околотехнические блоги, демонстрируя тем самым синдром попугайства, когда не думая своей головой некто повторяет ранее услышанное.
Попробуем кратко поставить нужные вопросы и ответить на них, сделав таким образом некий 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. Просто воспринимайте это как переименование. Все просто ![]()
В чем отличие версий 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).
Какие платформы поддерживает Silverlight?
Silverlight 1.0 поддерживает Windows и MacOS. Silverlight 2.0 будет также поддерживать Linux (Moonlight) благодаря партнерскому соглашенияю с Novell
.
Как осуществляется установка Silverlight-приложений?
Silverlight-приложения не нуждаются в установке. Браузерный плагин сам скачивает с сервера необходимые файлы и отображает их. Соответственно, не требуется специальной подготовки файлов для разных браузеров и платформ. Если же у пользователя отсутствует установленный Silverlight-плагин, то вместо приложения он увидит специальный бэйдж, говорящий о необходимости установить плагин и осуществляющий эту установку.
Сколько стоит разработка Silverlight-приложений?
Для разработки Silverlight-приложений доступен бесплатный SDK. Также анонсирован бесплатный инструмент для Visual Studio 2008, который будет доступен даже для бесплатной Visual Studio 2008 Express. Для дизайнеров доступен платный Expression Blend, позволяющий работать с теми же самыми проектами, что и VS, и предназначенный для работы с XAML (подробнее тут). Таким образом, для разработчика существует бесплатный набор инструментов, включая Visual Studio, позволяющий создавать Silverlight-приложения. Все эти инструменты (кроме SDK) доступны только на Windows.
Существует ли у Microsoft кроссплатформенная среда для создания настольных насыщенных интернет-приложений (RIA)?
На данный момент такой технологии у Microsoft .нет, и она пока не анонсирована. Десктопная платформа WPF, с помощью которой можно создавать насыщенные интернет-приложения, доступна лишь на платформе Windows. Silverlight же, являющийся кроссплатформенным, не доступен на десктопе (если не считать непроверенных слухов, нтерпретированных Райаном Стюартом как возможность интеграции базы данных наподобие Google Gears); в любом случае это будет проверено на следующей неделе). Единственной кроссплатформенной платформой от Microsoft, которую можно установить на большое число современных компьютеров, можно считать Microsoft Windows ![]()
Что такое 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 для разработки приложений, так и бесплатные инструменты.
Как мы видим, на данный момент Silverlight никак не является конкурентом Adobe AIR и играет на разных с ним полях. С точки зрения конкуренции, конкурентом Silverlight можно назвать Flash-плеер от Adobe.
Так что рекомендую господам журналистам проверять информацию прежде, чем делать столь громкие заявления (Microsoft готовит конкурента платформе Adobe AIR). А тем, кто бездумно перепечатывает подобные материалы, думать ![]()
Презентации с Flex 3 Prerelease Tour
Все помнят, что не так давно в Москве прошла вторая встреча Русскоязычной Группы Пользователей Платформы Adobe Flash (RAFPUG) в рамках Adobe Flex and AIR Pre-Release Tour. Сообщаю, что стали доступны презентации с этого мероприятия в виде PDF. Также доступна американская версия презентации, которую мы не видели. Качаем.
PS. Оптические эффекты в этом посте спонсированы фирмой Adobe ![]()
Вторая встреча RAFPUG в рамках Adobe Flex and AIR Pre-Release Tour
Вчера в Москве состоялась вторая встреча Russian Adobe Flash Platform User Group. Это событие проходило в рамках Adobe Flex and AIR Pre-Release Tour, что само по себе придало мероприятию высокий статус.
Также мероприятие было интересно тем, что в нем приняло участие беспрецедентное количество русскоязычных авторитетов Flash-платформы.
Опишу хронологически так, как видел это я. Сразу скажу, что я не буду пересказывать технические подробности содержания докладов. Ибо доклады были большими, концентрированными, и мероприятие для того и проводилось, чтобы они были выслушаны. Вдобавок, снималось много видео, которое, надеюсь, будет выложено. Также обещали выложить все презентации.
Ну, поехали. В общем, все началось задолго до самого официального мероприятия. Пока все работали на своих работах, приезжие были предоставлены общению и питью кофе/пива. И происходило все это на Старом Арбате в Старбаксе и Кружке. Среди приехавших из Питера были замечены Юля “Junique” Николаева, Павел “Vertex” Кожин, Дима “Maar” Арышев (у которого, кстати, в тот день был юбилей - ему исполнилось 27 лет: поздравляем!) и ваш покорный слуга. Были также важные персоны из Харькова: Ростислав “Рост” Сирык и Эльдар “Pirrest” Прилуцкий. А также сочувствующие москвичи Саша “Agahov” Гахов и Таня Белая.

Давно ожидаемое присутствие Роста было как бальзам на душу. Общение лилось рекой и запивалось пивом. Ну что тут рассказывать? Там надо было быть.

В итоге качество переросло в новое качество, и мы двинулись по направлению к ФМШ-2, где проходило мероприятие, вызванивая попутно тех, кто почему-то оказался неоповещен (типа Миши “Nox Noctis” Антипина, которого в итоге удалось подвигнуть).
А там уже собралась огромная куча народа! Кворум явно был. Как всегда основную роль в организации события взяли на себя ребята из Flexis - партнеров Adobe, за что им отдельное спасибо.

Представителей русскоязычного Flex-сообщества (как гуру, так и нет), представленных в сети, было хоть отбавляй. В общем, были все.
Были также и гости-евангелисты из Adobe Andrew Shorten и Enrique Duvos, подготавливающиеся к презентации.
После того, как все перездоровались-перезнакомились, пообщались и потусили, решено было потихоньку начинать. Но начало задержалось. Во время одного из подключений проводов к ноутбукам, Макбук Andrew немного сгорел. Вроде, проблема коснулась лишь аккумулятора, но для этой презентации ноутбук стал негоден ![]()
Enrique пришлось уступить свой ноутбук с декламированием английской пословицы: трубку, ноут и жену не отдам никому. Пока подготавливались материалы, слово взял Павел Черкашин, глава представительства Adobe в России.

Он сказал много теплых слов об образовавшемся сообществе пользователей Flash-платформы, поблагодарил школу, которая предоставила зал для встречи, рассматривая это как намечающееся тесное сотрудничество в образовательной сфере. Также короткое ответное слово взял директор ФМШ-2. Ему были вручены официальные благодарственные письма от Adobe. Между прочим, в зале сидело достаточно много учеников этой школы.
Дальше начался доклад Andrew Shorten. В вводном слове он рассказал о программе презентации и прочитал доклад о Flex и Flex Builder’е. Несмотря на чужой компьютер, на котором он просто не смог сходу запустить некоторые из подготовленных демо, все было на высоте. Отличная презентация, отличное чтение доклада, отличная работа с демонстрациями. Сам доклад шел на английском, но он переводился Александром Цыплихиным из Flexis, которому иногда помогал зал. Когда Andrew стал демонстрировать технические детали работы с новыми технологиями, перевод решили отменить: на него уходило слишком много времени и встреча могла затянуться.
Лично мне были интересны демонстрации приложений (Flex и AIR) и демонстрация возможностей Flex Builder’а 3 для дизайнеров. Также я подчерпнул некоторые фишки-нововведения нового билдера. Опять же, повторюсь, пересказывать доклад, да еще без презентации, да еще с моей памятью - задача глупая и неблагодарная. Будем ждать появления презентаций и видео.
После доклада Andrew ответил на ряд вопросов. Перерыв.
После перерыва (общение, кофе, булочки, общение) начал свои доклады (Open source и Data services) Enrique Duvos. Он говорил очень быстро с хорошо чувстсвующимся испанским акцентом. Иногда казалось, что он даже переходил на испанский, но все же прислушавшись можно было распознать родную английскую речь.
В остальном его доклад был на высшем уровне. Enrique поведал про весь спектр опенсорсных инициатив от Adobe, про то, как могут в них участвовать рядовые разработчики и что это им дает.
Во втором докладе Enrique рассказал про LiveCycle Data Services ES и опенсорсный BlazeDS, о тех преимуществах, что дает AMF перед другими протоколами и о том, чем отличаются представленные два сервера и что они дают разработчикам и пользователям.
Enrique и Andrew ответили на возникшие вопросы из зала и был провозглашен очередной перерыв.

Дальше пошли короткие доклады от представителей русскоязычного Flash-сообщества. Короткие потому, что времени было уже за девять вечера.
Я оттараторил свой обзорный доклад по концепции насыщенных интернет-приложений (RIA) в том виде, в котором эта концепция была представлена Macromedia в 2002-м году, соотнеся это с современными реалиями. Во временной регламент я уложился, но не вполне уверен, что такое конспективное изложение сильно порадовало публику. Саму презентацию можно скачать тут (1.5 M).
Дальше Иван Дембицкий растекся мыслию по древу насчет судеб Flash в России. Пересказывать не буду. Пусть Иван сам расскажет ![]()

Завершил программу докладов Артемий Малков из Flexis с докладом об использовании Flash-платформы в образовании. Он глубоко уверен о том, что это наиболее перспективная технология во всех ее аспектах. Также он поведал два факта: о том, что они пишут школьный учебник по Flex и о том, что теперь для школьников и студентов Flash CS3 можно купить с 90% скидкой, а Flex Builder - бесплатно. Эту информацию официально подтвердила заместитель главы представительства Adobe в России Ольга Мананникова.

В завершение мероприятия началась веселуха в виде розыгрыша призов по заполненным анкетам. Разыгрывалась лицензия Flex Builder 3 Professional, Creative Suite 3 Web Premium, iPod Nano и пять фирменных рюкзаков Adobe со всякой ботвой в них. Интрига была в том, что те, кто сдал анкету, выиграл, но не присутствовал в зале, из процесса исключались.

В общем, призы были разыграны. К сожалению, прибытие призов задержалось, так что они будут выданы позже.
В завершение Ольга Мананникова объявила о том, что в скором времени нас ждут конкурсы на лучшее приложение (очевидно Flex и/или AIR). Причем россиянам будут доступны два конкурса: европейский, где российский Adobe будут содействовать в соблюдении всех необходимых для конкурса формальностей, и российский, главным призом которого будет поездка на MAX Europe. Детали и условия будут объявлены позже. Отличные новости!
Далее все желающие переместились в ближайшую пиццерию, в которой не было недостатка в пиве и всем остальном необходимом. Народу было так много, что несмотря на кучу сдвинутых столов, некоторые сидели обособленно. И, опять же, общение на профессиональные, околопрофессиональные и непрофессиональные темы.
Интересным моментом было привезенное Ростом с Украины из полтавской области копченое сало от элитной генетически немодифицированной свиньи. Это было божественно! Не знаю, как ему удалось провезти наркотик через границу, но я с него реально тащился ![]()
Сидели мы до самого закрытия заведения, но в 12 ночи нам с Vertex’ом пришлось убежать на поезд в Питер. Рост же по случаю приезда задержался еще и на сегодня (сейчас, наверное, трясется в поезде: удачно доехать!).
Что же я могу отметить по поводу этой встречи:
Позитив. Пожалуй, это была самая позитивная тусовка Flash-сообщества из всех, в которых я участвовал. Я просто очень доволен коллегами. Вы очень приятные в общении люди! Этого заряда позитива мне хватит надолго.
Отдельно отмечу приезд Роста. Я так давно мечтал с ним познакомиться, и вот это случилось. Мэн, ты суперский чувак. Думаю, что еще увидимся!

Самая представительная выездная встреча учаснегов RIAPriority.com. Не хватало только Ани “Graann” Громовой для полного собрания

Андрюха и Энриха, евангелисты из Adobe, очень классные чуваки. Жаль, что у них столь напряженный график и столь велико желание попробовать русскую кухню. А то у них был большой шанс выпить много русской водки. Надеюсь, мы их еще увидим!
Приятно и полезно, что о нас стали думать в Adobe. Это большое дело. Так держать!
- Всем спасибо!

Приведу еще ссылки на уже опубликованные отчеты со встречи:





