Продолжаем репортаж из Лос-Анджелеса, где проходит Adobe MAX

Кто еще не видел ролика о Flash на iPhone - рекомендую посмотреть.
Читать далее (Опенсорс, видео, перформанс, Флеш+Каталист+Флекс)
Во второй день конференции общая сессия была довольно небольшой. В основном она была посвящена вещам, ориентированным на комьюники [Задание 1. Найди на картинке логотип нашей юзергруппы] - опенсорсу, колаборейшену, социальным сетям и т.д.

Началось все с шоукейса по порталу бейсбольной лиги www.mbl.com , после чего собственно рассказали о новом опенсорсном медиа фреймворке.

В двух словах идея следующая: каждая группа разработчиков сталкивается с одними и теми же задачами, такими как проигрывание нескольких роликов последовательно или параллельно, комбинирование и синхронизация видео с титрами/слайдами/мувиклипами, вопросы монетизации и т.д. Каждая группа раньше делала все это сама, изобретая каждый раз велосипед. Теперь Адоби призывает пользоваться общим велосипедом, который и развивать призывает вместе, то есть собственно OpenSource Media Framework.
Социальные инициативы на этом не заканчиваются. Более того, в общей линейке элементов Flash-платформы (Tools, Frameworks, Clients, Servers) теперь добавляется новая статья: Services,

в которая теперь включает набор социальных сервисов, таких как:
1. Collaboration Service - бывш.Cocomo, доступен уже сегодня.
2. Disctibution Service - встроенная возможность запостить флашку в несколько десятков социальных сетей, блоговых энджинов и других соц.ресурсов. Этот сервис тоже уже доступен.
3. Social Service скоро будет доступен в бете. Он является программным интерфейсом к социальным сетям и позволит вызывать из флешки социальные API.
4. Пока закрытый сервис (codename Shibuya), который по слухам является чем-то вроде Adobe AppStore, и позволит продавать AIR-приложения.
Не обошли стороной и тему 3D (без каких-то сенсаций, просто упомянув, что комьюнити молодцы развивают опенсорсные 3D движки). В качестве любопытной демки показали интересный кейс от федеральной почтовой службы. Задача - подобрать размер коробки для отправляемого по почте предмета. Решение красивое: распечатывайте на листочке штрих код, кладете на стол, подключаете камеру - камера находит штрих код и распознает пространственное положение (перспективу) и поверх видеокартинки с камеры рисует трехмерную коробку. Теперь на стол можно положить отсылаемый предмет (он как бы окажется внутри коробки) и в панельке справа подобрать такие параметры, чтобы предмет визуально в нее помещался.

Решение может быть конечно и избыточное, но интересное. Думаю с вебкамерой и трехмеркой можно что-нибудь интересное придумать, главное подключить фантазию.
На этом general session закончился и мы разошлись по докладам.
Сначала я пошел на доклад по производительности. Доклад был весьма познавательным, в частности описывались процессы, которые производит флеш-плеер при выполнении цикла обработки событий, выполнения кода и рендеринга.

Отностильно перформанса рекомендации в общем-то стандартные:
* Отписываться от эвент-листенеров, особенно таймера
* Использовать массивы/векторы вместо коллекций для нагрузочных процессов
* Использовать AMF для общения с сервером
* Делать флекс-компоненты потомками как можно более "легких" классов (UIComponent вместо VBox)
Пример приложения с кучей рендереров значительно быстрее, если делать рендеры легкими:

Рекомендации простые, но почему-то достаточно редко им следуют... Очень часто приходится слышать от флешеров, что Flex - го** потому что тормозной и тяжелый. Дорогие коллеги, Flex всего лишь требует определенной опрятности и следования небольшому набору бест-практик. Подробнее о перформансе можно узнать в записи доклада
Следующим докладом, который я посетил, была секция по взаимодействию Flash Pro + Flash Catalyst + Flash Builder
Конечно многих в свое время удивил тот факт, что в первой бете флеш-каталиса можно было импортировать графику из фотошопа и иллюстратора, но никак не из флеша (вернее свифки можно было загружать, но они были совершенно не интерактивными и монолитными (без слоев)), поэтому вопросы взаимодействия основных инструментов флеш-платформы привлекли внимание большой аудитории, и докладчик был не один, а целых четверо - Paul Burnett, Richard Galvan, Ryan Stewart и Serge Jespers

Сначала Ричард рассказал о том, что Флеш про все больше впитывает в себя Флекс и теперь создаваемые во флеш редакторе проекты могут подключать флексовые библиотекти для пущего интерактива.
Суперкулфича которую давно все ждали - это реадктирование кода флеш-проектов во Flex IDE. Пока что она не фул-фичед-фича, то есть пока нельзя сказать, что флеш редактор лишился редактора и вобще теперь он реализован на эклипс, но работа в данном направлении ведется очень активная. В ближайших релизах флеша/флекса нас ждет возможность редактирования as-файлов (не кода в ключевых кадрах) fla-проекта в Flash Builder. Делается это так - для as-файлов, также как и для рутового документа fla-проекта (для него создается document-класс) можно вызвать редактирование во Flash Builder. Открывается Flash Builder, и генерит полную структуру папок/файлов flex-проекта, в том числе включающую fla-исходник.

[Задание 2: Найдите на картинке три красные иконочки в Билдере и квадратик fla-файла в корне флекс-проекта.]
Во Flash Builder можно редактировать код и запускать файл. При этом он обратно открывает Flash Pro, компилит и запускает в нем файл.
Конечно все это несколько искуственная интеграция, но, думаю, это очень даже неплохо, лучше уже работать с такой интеграцией в текущей версии, чем ждать пока полная интеграция появится еще через две версии. Все-таки слишком разнородные продукты приходится скрещивать Адобам, надо уважать их усилия.
Об интеграции флеша и каталиста я уже писал - в текущей бете можно загружать свифки и запускать их с определенного кадра. В принципе с этим уже очень многое можно сделать. Вызова методов свифок напрямую в каталисте нет, но он и не предназначен для кодинга. Все это можно сделать уже во флешбилдере. Импорт проекта из каталиста во флешбилдер все также прост - сохраняем FXP-файл и открываем в билдере. Кроме того, можно экспортировать библиотеки компонентов (скинов для компонентов).
Обратного взаимодействия (из билдера в каталист) в ближайшей версии не предвидится (это действительно очень нетривиальная задача), однако Серж показал, другую фишку - связывание компонентов с данными.

Разработка и впрямь становится очень простой и быстрой. Рисуем в фотошопе/иллюстраторе дизайн, размечаем и конвертируем его в fxp в каталисте, открываем в билдере и просто задрагиваем на листы источники данных (указываем тип сервера - BlaseDS/Coldfusion/HTTP/LCDS/PHP/WebService и методы для получения данных, например getUsers) - флешбилдер автоматически генерит весь код для получения этих данных и подстановки результата в лист.
В итоге создание небольшого приложения отображающего серверные данные в красивом кастомном дизайне займет не более 20 минут. Это действительно круто. Обещаю как-нибудь показать весь этот процесс на встрече юзергруппы.
Просмотреть полную запись доклада можно тут
Тема основных тулов флешплатформы не покинула меня и на следующем докладе, который вел ни много, ни мало Greg DeMichillie - директор Адоби по продукт-менеджменту.
Он рассказал о будущем всех продуктов флеш-платформы, в частности коснулся выходящих скоро и будущих (через одну) версий Flash Pro, Flash Catalyst и Flash Builder.

Основные направления, в которых будут развиваться продукты Adobe в ближайшие пару лет - это
1. Мультискрин (мобильники, домашнее телевидение, утюги и прочая техника)
2. Простота самовыражения (чтобы художникам, аниматорам, музыкантам было легко их творения конвертить в приложения)
3. Интегрированность инструментов (Fl + Fc + Fb + Cf + ...)

Интеграция продуктов ожидается очень тесной, в частности FlashBuilder действительно станет основным редактором для Flash Pro, сам FlashBuilder будет взрослеть и обрастать тулами для кодеров. И, наконец, бомбой может стать разработка на лету, когда дебаг идет по живому приложению и изменяемый код применяется сразу без необходимости перекомпилляции.
В прочем об этом подробнее мы расскажем в следующей серии.
Comments
спасибо, нало выделить время для прсмотров кейнотов