Category: Новостишки
Flash Player 10 и Moonlight 1
Сегодня я решил соригинальничать и рассказать о том, о чем все уже знают, позже других блоггеров.
Ну рассказывать тут, собственно, не о чем. В Adobe Labs появилась бета-версия Flash Player 10, который имеет кодовое название Astro. Так, ерунда. Не стоит внимания, но я все же остановлюсь на некоторых подробностях потому как ну это просто срыв башки, да? ![]()
Начнем по порядку:
- Это первый релиз Flash Player’а, который идет сразу на три основные платформы. Я не линуксоид (пока), но многие радуются, что теперь Flash Player поддерживает и Ubuntu. А я по глупости считал, что и раньше поддерживал. Ну да ладно.
- Про Open Screen Project я уже писал. Это я к тому, что данный плеер уже будет с открытым форматом SWF-файлов и API. То есть нас могут ждать опенсорсные реализации Flash Player 10.
- Обновленный FileReference. Мне очень нравилась в Silverlight 2 такая фича, что пользователь может загружать файлы с локального диска (изображения, например) в плагин напрямую, без использования сервера. И, понятное дело, отобразить. Чтобы не гонять изображения туда-сюда. Теперь это позволяет делать и Flash Player. Мало того, он позволяет и сохранять файлы на локальную машину. Скриншоты, например. И еще кое-что, о чем ниже. В общем, фича, которую все давно ждали.
Работа с текстом. Ну здесь можно говорить часами. Самое главное - это новые возможности макетирования текста. Теперь мы можем делать многоколоночный текст, который будет автоматически перетекать из одной колонки в другую (из одного блока текста в другой). Мало того, мы можем редактировать и выделять текст в такой многоколоночной/многоблочной верстке как если бы это был сплошной текст. Мало того текст теперь может включать в себя таблицы и изображения в любом месте.
Пример многоколоночной верстки во Flash Player 10 “Astro”Но и это еще не все. Теперь Flash Player поддерживает любое направление текста (слева направо, справа налево, в колонку). И все это в одном и том же тексте. То есть интернационализация рулит.
Кстати, небольшое лирическое отступление по поводу интернационализации и локализации (i18n и l10n). Оказывается, что решение вопроса с текстом справа налево еще не весь круг задач по локализации приложений для культур с таким начертанием. С удивлением узнал, что необходимо также менять местами всякие панельки и колонки таблиц. Весело.
Но вернемся к тексту. Также улучшается работа с системными (невстроенными) шрифтами (дальше мы поймем почему). Они поддерживают все то, что раньше было доступно только встроенным: возможность вращать на произвольный угол, изменять прозрачность, антиалиасинг, возможности которого улучшились для всех шрифтов (движок Saffron обновился до версии 3.1), также как и производительность сглаживания.
Поддержка протокола UDP. В далеком 2006-м (как быстро бежит время!) Adobe втихую купила компанию Amicima, чьи разработки и легли в основу этого нововведения. Разработки этой фирмы открывают возможности использования p2p во Flash-плеере. Подробнее можно прочитать тут. Ну а если по сути, это огромное море возможностей. Это и возможность использования VoIP напрямую между клиентами, возможность, соответственно, чата, обмена данными и изображениями, совместная работа (тот же Whiteboard). И такие решения станет делать намного проще! И новый FileReference с сохранением данных тут как раз наготове.
Эти же разработки используются в расширениях по работе с видео (протокол RTMFP (Real Time Media Flow Protocol)). Этот протокол более эффективен (как по скорости, так и с точки зрения трафика), а также всегда поддерживает шифрование.
Перейдем к тому, отчего все писают кипятком, а лично я вполне равнодушен. 3D эффекты. Теперь для визуальных объектов появляется дополнительна ось, что позволяет трансформировать их в трехмерном пространстве. И, что самое интересное, с сохранением всех интерактивных возможностей. То есть мы можем в трехмерном пространстве представлять как контролы, так и целые экраны с контролами, равно как изображения и видео (с возможность, понятное дело, им управлять). Так как это реализовано на уровне среды исполнения, то производительность, конечно, приличная. А это влечет за собой обновления трехмерных движков, кучу пионеров, которые от слов “три дэ” становятся фиолетовыми в крапинку и готовы идти за вами хоть на край света. Ну и, понятное дело, кучу игрушек. В общем, just for fun (хотя не только).
Нативное 3D во Flash Player 10 “Astro”Ну и, ясное дело, трудно было бы трансформировать пользовательские интерфейсы в трехмерном пространстве если бы не нововведения в системных шрифтах, о которых я написал выше.
Также следует заметить, что возможность интерактивной работы с 3D-представлением объектов будет доступна во Flash IDE (которая CS4).
Ко всей это трехмерной вакханалии следует добавить поддержку произвольных пользовательских графических фильтров и эффектов, которые можно создавать на специальном языке с использованием специального инструментария Pixel Bender Toolkit (как говорится, с блэк-джеком и шлюхами
), который раньше тоже неплохо кодово именовался Hydra. Эта же технология используется в фильтрах и эффектах After Effects CS3. Она, по сути, позволяет делать безбашенные эффектные вещи, которые умещаются в 1 килобайт.
Пример использования пользовательских графических фильтров во Flash Player 10 “Astro” (Adobe Pixel Bender)Специалисты в связи с этим привычно упоминают ключевое слово шейдер. В общем, для игрушек самое то (хотя и не только).
Кстати, имеется уже довольно большая галерея готовых эффектов, которые можно использовать в своих экспериментах.
- Улучшения в Drawing API, подробнее о которых можно прочитать тут. Но вкратце, это возможность задания отрисовки сложных форм в виде единообразных структур, которые можно повторно использовать и отдельные параметры которых можно менять для отрисовки с изменениями. Также тут добавлены 3D-возможности (перспективные искажения) по отрисовке треугольников с битмап-заливкой. Что, опять же, незаменимо в 3D-штуках. Также имеется возможность применения шейдеров на уровне Drawing API. Причем как к заливкам, так и к контурам. Еще раз отсылаю к подробному описанию нововведений (с описанием всех новых классов и методов).
- По части производительности продолжают делаться шаги по аппаратной акселерации графики. Теперь это касается не только полноэкранного видео, но и обычного видео и
аудиографики (растровые изображения, фильтры и режимы наложения). Причем, ежу понятно, для этого не надо ничего специально прописывать в коде. - Поддержка цветовых профилей для всех графических объектов (то есть для всего Flash-приложения). Для особо циничных ценителей.
- Писать стыдно, но добавили. Добавили типизированные массивы в виде типа данных Vector из разрабатываемой спецификации ECMAScript 4. По мне так гордиться особо нечем (давно пора, ибо уже без этого как-то надоело). В общем, повысит удобство кодирования и производительность. Подробное описание и применение тут.
- По части видео я тоже не сильный энтузиаст (но отдаю должное в качестве большого бизенс-потенциала). Добавился динамический стриминг, как возможность менять битрейт потокового видео на лету по мере изменения пропускной способности канала. Понятно, что это должно поддерживаться и соответствующими медиа-серверами, но оно планируется. Выше я уже вкратце рассказал про новый протокол RTMFP как добавление к старичку RTMP.
- Новый высококачественный аудио-кодек Speex Audio Codec.
- Динамическая генерация звука. То, без чего уже скоро не сможет жить Таня Белая. Полагаю, что созданными композициями можно будет обмениваться без использования сервера, а также сохранять на локальный диск. Будет выведена новая порода виртуальных диджеев. Тоже особо циничных.
- Растровые изображения, которые используются во Flash Player’е, значительно увеличили максимальную поддерживаемую размерность. Многацыфр.
- Расширилась поддержка буфера обмена. Теперь можно будет вставлять в приложение форматированный текст и даже, кажется, изображения. Что, в общем-то, очень круто.
- Возможности контекстного меню тоже расширяются. Теперь там будет позволено использовать форматированный текст. Кажется, я все понял правильно

Хотел перечислить лишь наиболее волнующие нововведения, но увлекся и перечислил все. Ну и ладно!
А прочитать все подробно и на буржуйском можно тут. Доступен для скачивания плеер, доступен FAQ, доступны демки с исходниками.
Недоступна Debug-версия новой беты нового плеера. Это обидно. Но остается надежда, которая еще не умерла.
Также имеется возможность уже сейчас экспериментировать в создании демок для нового плеера. Для этого разработчики из Adobe по-быстрому подогнали версию Flex SDK, позволяющую это сделать.
Ну и напоследок немного про Silverlight. Наконец-таки появился релиз первой версии Moonlight - порт Silverlight под Linux. Об этом можно подробнее прочитать на английском и на русском.
В общем, жизнь идет полным ходом. А что интересного у вас? ![]()
JavaFX наносит ответный удар
Май оказался очень богатым месяцем на события, связанные с RIA, Это и Open Screen Project, это и выход семейства инструментов Expression версии 2, это и конференция ReMIX от Microsoft. За всем этим мы немного забыли о том, что в это самое время проходит конференция JavaOne 2008, которая обещает множество докладов по JavaFX. И как всегда Sun поражает тем множеством новшеств, которые нас ждут по части JavaFX.
Ну во-первых, в дополнение к коммбюнити-сайту OpenJFX запущен сайт JavaFX.com. Помимо того, что сайт очень качественно и интересно сделан с использованием AJAX, он содержит множество воодушевляющей информации и видео:
- Объявлено о расширении линейки инструментов для работы с JavaFX. Помимо инструментов для разработчиков (плагин для NetBeans, а позже и развитие плагина для Eclipse) сюда будут включены инструменты для графических дизайнеров. Это и специальная среда JavaFX Designer, которую обещают сделать доступной уже этой весной, и плагины для Adobe Photoshop и Adobe Illustrator. То есть пресловутый designer-developer workflow тоже не остался в стороне. Yes!
- По части медиа-возможностей будет предоставлен JavaFX Media Framework, который в том числе позволяет проигрывать одновременно 200 Blu-ray HD-видео, как это продемонстрировано в приложении Video Cloud. Также летом 2008-го будет представлен JavaFX Media Converter.
- Известно, что в конце 2008-го нас ждет версия 1.0 JavaFX Desktop, а весной 2009-го - JavaFX Mobile. Далее в планах Sun JavaFX TV и другие платформы для других устройств.
- Интересно, что браузерные JavaFX-приложения могут взаимодействовать с десктопом (например, можно перетащить приложение из браузера на десктоп, и оно останется там жить).
- После выхода версии JavaFX 1.0 будут объявлены планы по открытию исходных кодов всех составляющих платформы. Сейчас открыты только некоторые части. Но то, что JavaFX будет опенсорсной - определённо.
- Ну и понятно, что в качестве GUI-компонент используется тот же самый Swing и что при разработке приложений на JavaFX вы можете использовать тот же самый Java-код, который вы написали ранее.
Также на JavaOne были показаны некоторые демки, одну из которых (виджет для Facebook под названием Connected Life, который может перетаскиваться на десктоп, а также жить в мобильном телефоне) можно посмотреть на видео, взятом из блога Райана Стюарта:
Так что не списывайте JavaFX со счетов!
Конференция ReMIX От Microsoft
Как я уже разок упоминал, 23 мая в Москве, в Колонном зале Дома Союзов пройдет конференция ReMIX, организуемая Microsoft. Это маленький аналог большого MIX’а, на котором лично будет присутствовать Стив Балмер, генеральный директор компании Microsoft. На сайте конференции вы можете задать вопрос Стиву Балмеру, и вопрос этот будет участвовать в конкурсе вопросов. А вопросы на конференции будет задавать Антон Носик. А в качестве приза за вопрос вы можете выиграть участие в мероприятии, ибо мероприятие будет не для всех. Желающих все-таки больше, чем мест. Но онлайн-трансляция будет вполне доступна.
На конференции будет освещено множество тем, в том числе и особо интересующая читателей данного блога: Silverlight. Поэтому для желающих есть еще способы получить приглашения на конференцию. Во-первых, вы можете зарегистрироваться на сайте и участвовать в общем розыгрыше приглашений. Во-вторых, евангелисты из Microsoft прямо сейчас раздают ограниченное количество приглашений, и тот, кто успеет, может их получить. Сделать это можно в блоге Александра Ложечкина, блоге Михаила Черномордикова либо в блоге Гайдара Магданурова.
В блоге Александра Ложечкина вы можете узнать множество подробностей мероприятия.
Спешите!
Adobe XML news aggregator
Просто новостишка, но достаточно важная. Кануло в прошлое одно из последних упоминаний Macromedia в виде MXNA (Macromedia XML News Aggregator). Теперь на смену ему пришел Adobe XML News Aggregator. Суть при этом совершенно не изменилась (что радует), а старая ссылка просто редиректится на новую (также продолжают исправно работать старые RSS-каналы).
Думаю, что все в курсе, ну а кто не в курсе, поясню, что этот ресурс собирает фиды с большого количества блогов, посвященных Flash-платформе. Фиды делятся на категории, что позволяет выбрать интересующие темы. Здесь надо сказать, что некоторые изменения все же есть: добавились новые категории.
Больше недели ресурс был недоступен: производились архитектурные изменения, связанные с увеличившимся количеством читателей. Если кого-то интересует суть изменений, он может прочитать в блоге Теда Патрика, который любит большие картинки.
Удачного вам чтения!
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.
- Пресс-релиз.
- Страничка для девелоперов с обращением Кевина Линча и ссылками на спецификации файловых форматов.
RAFPUG: День Космонавтики, Питер. Место проведения
Лучше поздно, чем никогда. Наконец-то появилась информация о месте и времени проведения питерской встречи Russian Adobe Flash Platform User Group, которая пройдет в субботу, 12 апреля, в День Космонавтики.
Проблема была в выборе места проведения. Организаторы и спонсоры (фирма Flexis в лице Артемия Малкова) разрывались между одной из тронных зал Эрмитажа и ресторанчиком с видом на Эрмитаж. Туристов понять можно. Но потом было решено провести мероприятие без лишнего пафоса, и был выбран ресторан.
Итак, встречаемся 12 апреля, в субботу, в 12 часов в ресторане «Эрмитаж», что находится слева от Арки Главного Штаба если смотреть на Арку от Александрийского Столпа. Для местных жителей все понятно. Для приезжих есть простая инструкция.
Когда выйдете на Невский, спросите у первого попавшегося туриста (местные жители по Невскому не ходят) как добраться до Дворцовой. Если на Дворцовой не удастся отыскать Арку Главного Штаба, то тот же самый турист вам поможет (местные жители по Дворцовой не ходят). Все просто ![]()
Для тех, кому этого мало, есть карта.
Напоминаю, что все текущие подробности можно найти на официальной странице встречи.
Также было замечено, что многие товарищи не любят чтобы новости приходили к ним сами, а любят спрашивать у других или периодически чекать веб-страницы в ожидании обновлений. Я понимаю всю эзотерическую привлекательность данного подхода. Для остальных же сообщу, что все обновления по поводу RAFPUG можно получать подписавшись на официальную рассылку группы.
Для тех, кто собирается пропустить данное мероприятие, советую десять раз подумать - а оно вам надо? Для тех, кто еще не зарегистрировался - регистрируйтесь!
Увидимся в субботу!
Доклад по Flex на РИТ-2008
Буквально в субботу я получил подтверждение, что буду выступать на РИТ-2008 с докладом. А сегодня появилась программа мероприятия, согласно которой мой доклад «Кастомизация пользовательских интерфейсов во Flex» будет в первый день (14 апреля). Постараюсь за 20 минут оставить у неподготовленного слушателя общее впечатление о теме.
Кстати, мой доклад будет следом за докладом Михаила Черномордикова про Silverlight 2 (столь же короткого). Если добавить к этим докладам доклад по GWT, Google Maps API и очень актуальный 40-минутный мастер-класс по анимации без использования Flash, которые можно рассматривать как имеющие отдалённое отношение к насыщенным интернет-приложениям (RIA), то можно понять, что тема RIA пока малоактуальна для России (ибо доклады по CSS в секции «Клиент» интересуют оргкомитет гораздо больше). Это вполне совпадает с моими прогнозами на 2008-й.
Вообще, мероприятие обещает быть насыщенным и интересным. И еще не поздно на него зарегистрироваться. Увидимся в Москве! ![]()
Новости от 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 в самое ближайшее время будет расширяться. И расширяться за счет девелоперского отделения, которое откроется в Москве. Насколько стало известно, на первых порах оно будет совсем не большим, и основная задача разработчиков - поддержка как раз этих самых онлайновых приложений (написание дополнительных подключаемых модулей и наши любимые баги). Новость грандиозная! Так что готовим свои резюме и ждем появления вакансий!
На этом на сегодня все.
Тезисы докладов на питерской встрече RAFPUG в День Космонавтики
Появились тезисы докладов планируемой питерской встречи RAFPUG (Russian Adobe Flash Platform User Group, Российская Группа Пользователей Flash-платформы от Adobe), о которой я уже писал. Напомню, что встреча пройдет в субботу 12 апреля. В День Космонавтики. Место проведения уже наклевывается, и о нем мы обязательно сообщим.
Итак, начнем-с.
Data Binding. Связывание данных во Flex 2
- Что такое data binding или связывание данных? Механизмы связывания.
- Способы связывания данных в mxml и в actionscript.
- О срабатывании связывания данных. Методы executeBindings() и executeChildBindings().
- Особенности использования BindingUtils
- Что может стать источником связывания?
- Когда стоит использовать связывание данных?
- Зачем нужен ChangeWatcher?
- Опасности связывания данных. Утечки памяти; сложность отладки; ошибки времени исполнения.
Жизненный цикл компонент во Flex (Component Lifecycle Overview)
Павел “Vertex” Кожин.
- Что такое жизненный цикл и для чего он нужен.
- Фаза 1. Создание. Инстанциирование + Конфигурация.
- Фаза 2. Рождение. Аттачмент + Инициализация + Валидация.
- Фаза 3. Жизнь. Взаимодейстие.
- Фаза 4. Смерть. Удаление + Сборка мусора.
- Сравнение жизненного цикла компонентов MX 2.0 (AS2) и Flex.
Разработка приложения с использованием технологий Flex, BlazeDS, Spring, Hibernate
- Настройка среды: установка Tomcat, Maven.
- BlazeDS: развертывание, устройство каталогов, структура конфигурационных файлов.
- Принципы Dependency Injection и использование Spring для разработки приложений.
- Хранение объектов в реляционной базе данных на основе технологии JPA (Hibernate).
- Взаимодействие технологий на примере преобразованного flexStore.
Как видите, скучно не будет.
Итак, кто еще в сомнениях, может регистрироваться на мероприятие. Информация по регистрации тут или на страничке группы.
