| « Ждем Silverlight 2 beta 2 | JavaFX наносит ответный удар » |
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 с сохранением данных тут как раз наготове.
Однако не стоит обольщаться. Новейшие сведения говорят, что обмен файлами через новые фичи Flash Player’а все-таки вряд ли будет осуществлен. Дело в том, что P2P-соединения предполагают обмен пакетами, координируемый сервером (в роли которого будет выступать будущий релиз Flash Media Server). И уже эти пакеты должны сохраняться на диске. Но Flash Player (даже 10-й) в целях безопасности не поддерживает сохранение на диск. Даже новые возможности FileReference предполагают делать это только с участием пользователя (через открытие файлового диалога). В общем, рекомендую этот замечательный FAQ по UDP и P2P.
Эти же разработки используются в расширениях по работе с видео (протокол RTMFP (Real Time Media Flow Protocol)). Этот протокол более эффективен (как по скорости, так и с точки зрения трафика), а также всегда поддерживает шифрование. Про него чуть подробнее читаем тут. О роли FMS в новом протоколе читаем тут.
То есть новые фичи (UDP) будут использоваться в контексте P2P лишь для коммуникации: микрофон, вебкамера, текстовый чат, whiteboard итд. И будет это координироваться, соответственно, FMS. Или аналогами, которые, надеюсь, будут созданы.
Перейдем к тому, отчего все писают кипятком, а лично я вполне равнодушен. 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. Бесплатный и опенсорсный (в добавление к существующему проприетарному Nellymoser).
- Динамическая генерация звука. То, без чего уже скоро не сможет жить Таня Белая. Полагаю, что созданными композициями можно будет обмениваться без использования сервера, а также сохранять на локальный диск. Будет выведена новая порода виртуальных диджеев. Тоже особо циничных. А для читателей доступен скринкаст с исходниками. Также можно ознакомиться с циклом статей Тиника Уро.
- Растровые изображения, которые используются во Flash Player’е, значительно увеличили максимальную поддерживаемую размерность. Многацыфр.
- Расширилась поддержка буфера обмена. Теперь можно будет вставлять в приложение форматированный текст и даже, кажется, изображения. Что, в общем-то, очень круто.
- Возможности контекстного меню тоже расширяются. Теперь там будет позволено использовать форматированный текст. Кажется, я все понял правильно

Хотел перечислить лишь наиболее волнующие нововведения, но увлекся и перечислил все. Ну и ладно!
А прочитать все подробно и на буржуйском можно тут. Доступен для скачивания плеер, доступен FAQ, доступны демки с исходниками. Также имеется постоянно пополняющийся список нововведений в API нового плеера. Но зачем нам этот список когда есть официальная документация?
Недоступна Debug-версия новой беты нового плеера (доступна лишь версия в виде standalone-проигрывателя). Это обидно. Но остается надежда, которая еще не умерла.
Также имеется возможность уже сейчас экспериментировать в создании демок для нового плеера. Для этого разработчики из Adobe по-быстрому подогнали версию Flex SDK, позволяющую это сделать.
Ну и напоследок немного про Silverlight. Наконец-таки появился релиз первой версии Moonlight - порт Silverlight под Linux. Об этом можно подробнее прочитать на английском и на русском.
В общем, жизнь идет полным ходом. А что интересного у вас? ![]()
Трекбек адрес этой записи
URL трекбека (щелкните правой кнопкой мыши и скопируйте ссылку)
14 комментариев, 1 Трекбек
Хоть и последний написал, зато все разжевал... Я, как личность ленивая, выражаю благодарность. Лично меня радует новый FileReference, так как извращаться мне не очень нравилось. Ну и текст с картинками вроде неплохо, интересно с каким форматом будет работать?
Круто. Жаль только, что что все это многообразие мы сможем использовать в реальных проектах не раньше чем через годик-другой - пока народ переползет с 9-ки.
По части форматирования текста сильно сомнение берет: наверняка снова сделали непонятное подобие HTML, которое не является его подмножеством.
Но вообще количество нововведений, конечно, потрясает
Ну с подмножеством HTML пока непонятно. В демках есть один пример двухколоночного текста кстати.
Хоть и позже, зато как основательно! По-моему это ценнее, спасибо.
про p2p хороший акцент, спасибо.в остальном уважаю писательский труд.
Ну, как я тебе говрил FileReference, появился буквально сразу.Да еще форматирование текста!!! теперь у меня просто руки чешуться, применить эту штуку!
Супер!!!
Не написал, но Написал — в одной статье сразу все, что нужно. Респектище
Очень информативно, спасибо!Лучший русскоязычный пост по сабжу из всех что видел на момент.
Я правда как-то пропустил в буржуйских анонсах инфу по поводу изображений внутри текста. Деление на колонки, вертикальный текст и текст в другую сторону это конечно хорошо, но закончатся ли наконец пляски с бубном вокруг инлайн изображений в строке (смайлов например)? Пока не очень понял, но слова "текст теперь может включать в себя таблицы и изображения в любом месте" дают надежду )
Спасибо, было интересно почитать - буду экспериментировать с невстроенными шрифтами. Единственное - позволю небольшую поправочку. Отладочная версия Flash плеера доступна (нет доступной отладочной версии плагинов). Скачать ее можно тут:
http://opensource.adobe.com/svn/opensource/flex/sdk/branches/3.0.x/in/player/10/win/FlashPlayer.exe
Надеюсь, что спас кому-то немножко времени :-).

inline imagesаллилуйя, стало быть
бубен можно отложить
пиксельные шейдеры в 10-й версии плеера имеют мало общего c реализацией оных в Adobe Pixel Bender Toolkit. Во-первых, никакой поддержки шейдеров на GPU _в_плеере_ не предвидится, во-вторых они асинхронные, т.е. для рилтайма на каждом кадре (игрушки) мало применимы. Так что удел этой технологии - он-лайн редакторы а-ля фотошоп. По крайней мере пока.
Линукс, кстати, с 7-ой версии поддерживает Flash. И FreeBSD тоже. Плагин то, однако, один и тот же для фаерфокса..
Пасиб за обзорную и позновательную статьюto mono2k - это пока думю измениться менее чем за год, с такими темпамито.
На сомом деле все уже написали о выходе второй беты Astro (кодовое название Flash Player 10). Я решил создать еще один пост на эту тему с той лишь цел