Flash


Adobe Flash (ранее известная как Macromedia Flash), или просто Flash — мультимедийная платформа, используемая для создания векторной анимации и интерактивных приложений (в том числе, игр), а также для интеграции видеороликов в веб-страницы. Разработка Flash была начата компанией FutureWave, создавшей пакет анимации FutureSplash Animator. В 1996 году FutureWave была приобретена компанией Macromedia, которая переименовала FutureSplash Animator в Flash. Под этим наименованием платформа продолжает развиваться и поныне (хотя после того, как в 2005 году компания Macromedia была поглощена Adobe, Macromedia Flash стал официально называться Adobe Flash).
В основе Flash лежит векторный морфинг, то есть плавное «перетекание» одного ключевого кадра в другой. Это позволяет делать сложные мультипликационные сцены, задавая лишь несколько ключевых кадров для каждого персонажа.


Пример flash-сайта


ActionScript


Flash использует язык программирования ActionScript — объектно-ориентированный язык программирования, один из диалектов ECMAScript, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player. ActionScript компилируется в байткод, который включается в SWF-файл. SWF-файлы исполняются Flash Player-ом. Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение (standalone). Во втором случае возможно создание исполняемых exe-файлов (projector), когда swf-файл включается во Flash Player. В 2006 году вышел ActionScript 3.0 в среде программирования Adobe Flex, а позже в Adobe Flash 9. ActionScript 3.0 представляет, по сравнению с ActionScript 2.0 качественное изменение, он использует новую виртуальную машину AVM 2. ActionScript 3.0 обеспечивает возрастание производительности, по сравнению с ActionScript 1.0/2.0, до 700 раз. ActionScript 3.0 позволяет работать с бинарными данными, с BitMap (что обеспечивает значительный прирост производительности: до 10000 раз).. Увеличение производительности основано на динамической трансляции кода (JIT). Такое увеличение производительности возможно лишь для некоторых типов данных и требует особой организации кода. Объём кода, как правило увеличивается в несколько раз (по сравнению с AS1) С помощью ActionScript можно создавать интерактивные мультимедиа-приложения, игры, веб-сайты и многое другое. Для вывода надписи Hello World! Необходимо выполнить следующий код:
trace("Hello world!");


Производители ПО для мобильных устройств пытаются заменить или ограничить распространение Flash на свои новые мобильные платформы:

• Apple на HTML5 для iPhone и iPad
• Microsoft на Silverlight для Windows Phone 7

В качестве основных средств разработки используются пакеты Adobe Flash Professional и Adobe Flash Builder 4 , позволяющие создавать интерактивные приложения (в том числе, веб-приложения, игры и мультфильмы).

Безопасность

В основном безопасность flash-плеера основывается на исходном домене, откуда загружается SWF-файл, мультимедиа или другие данные. SWF файл с определённого домена, например www.example.com, всегда будет иметь полный доступ к данным с этого же домена. Считается, что эти данные находятся в той же группе безопасности, которую принято называть security sandbox (более подробная информация находится в разделе Security sandboxes ниже).
Например, SWF-файл может загружать другие SWF-файлы, изображения, звук, текстовые файлы или любые другие данные с собственного домена. Взаимодействие на уровне кода между двумя клипами с одного и того же домена всегда разрешено, если они оба написаны с использованием ActionScript 3.0. Возможность доступа из одного SWF-файла к свойствам, методам и объектам другого называется cross-scripting. Не поддерживается cross-scripting, если один клип написан с использованием ActionScript 3.0, а другой с использованием предыдущих версий языка. Несмотря на это, такие файлы могут взаимодействовать с помощью класса LocalConnection.
По умолчанию SWF-файлу запрещено вызывать код или загружать данные из ActionScript 3.0 SWF-файла, который находится в другом домене. Но доступ может быть получен, если в загружаемом файле был выполнен вызов Security.allowDomain().
В модели безопасности Flash-плеера существует различие между загрузкой и доступом к данным.

Загрузка
Контент - это медиа данные, которые Flash-плеер может отображать или озвучивать, а также файлы SWF которые включают в себя мультимедиа. Данные – это что-то, к чему можно получить доступ только из ActionScript кода. Загрузку можно производить при помощи классов Loader, Sound и NetStream.

Доступ
Вы можете получить доступ к данным двумя путями: извлекая данные из загруженного мультимедиа или напрямую загрузив внешний файл (например, XML). Можно извлекать данные из мультимедиа содержимого, используя класс Bitmap, метод BitmapData.draw(), свойство Sound.id3 или метод SoundMixer.computeSpectrum(). А можно загружать данные с помощью классов URLStream, URLLoader, Socket и XMLSocket. В модели безопасности Flash-плеера определены различные правила для загрузки и доступа к данным. В целом ограничений для загрузки данных немного больше чем для доступа к ним.
Вообще, содержимое (SWF-файлы, изображения, MP3-файлы и видео) могут быть загружены откуда угодно, но если эти ресурсы получены из домена отличного от того, в котором находится модуль, который их загружает, то они будут помещены в отдельный security sandbox.
При загрузке содержимого существуют следующие ограничения:
1. По умолчанию локальные SWF-файлы (к ним относятся те, которые загружаются, например, с жёсткого диска пользователя, а не по сети) попадают в sandbox, который называется local-with-filesystem. Эти файлы не могут загружать содержимое из сети.
2. RTMP сервера (Real-Time Messaging Protocol) имеют возможность ограничивать доступ к своему содержимому.
3. Если загруженные данные мультимедиа и SWF-файл, который хочет получить к ним доступ, не в одних в security sandbox, то для доступа к этим данным домен SWF-файла должен быть включен в файл с кроссдоменными политиками, находящийся в домене, содержащем контент.
4. К другим формам данных относятся текст или файлы XML, которые загружаются с помощью объекта типа URLLoader. И снова для доступа к любым данным из другой security sandbox разрешение должно быть дано в файле с кроссдоменными политиками из исходного домена. Стандартным расширением для скомпилированных Flash-файлов (анимации, игр и интерактивных приложений) является .SWF((Shockwave Flash) или Small Web Format). Видеоролики в формате Flash представляют собой файлы с расширением FLV (при этом Flash в данном случае используется только как контейнер для видеозаписи). Расширение FLA соответствует формату рабочих файлов в среде разработки. Flash-контент воспроизводится с помощью целого ряда программных средств, но доминирующее положение на рынке занимает официальный Adobe Flash Player, распространяемый в качестве бесплатного плагина для большинства современных браузеров. Также SWF-файлы можно просматривать с помощью различных свободных плееров, например, Gnash или swfdec. FLV-файлы воспроизводятся через Adobe Flash Player или через мультимедийные проигрыватели, такие как Quicktime и Windows Media Player, при наличии соответствующих плагинов.

Преимущества:

•Свобода развития. Flash позволяет достичь такой свободы развития, которую вы не найдете больше нигде. Flash позволяет дизайнерам помещать объекты там, где они хотят, не беспокоясь об абсолютном и относительном размещении, проблемами с шаблонами, проблемах таблицы-в-таблице, разрешениях экрана и так далее. Страница отображается одинаково корректно во всех браузерах.
•Большая интерактивность. Flash обеспечивает интерактивную среду для более квалифицированных средств мультимедиа. Технология Flash позволяет вставлять звук в mp3- или wav-формате на ваши странички, что дает возможность использовать речь или фоновую музыку. Возможно вставлять цифровое изображение или видео непосредственно во Flash.
•Большая гибкость. Так как Flash оперирует векторными объектами, она позволяет регулировать размеры экрана, базирующиеся на размере браузера, и таким образом рисунки и текст остаются четкими.
•Улучшенная интеграция. Flash позволяет интегрировать любой мультимедийный формат. Например, во Flash можно вставить растровые форматы рисунков (такие, как GIF, JPEG, PNG, PCT, TIF), векторные форматы (включая FreeHand, EPS, Illustrator) , звуковые форматы (WAV, AIF, MP3).
•Легкая работа с шрифтами. С помощью Flash возможно встраивать любой шрифт и демонстрировать его на браузере клиента, независимо от того, установлен ли этот шрифт у них или нет.
•Моделирование фреймов. Flash может моделировать характер изменений фреймов в HTML-сайт таким образом, что определенные части страницы, например, кнопки навигации, фиксируются в определенной позиции, в то время как другие части страницы скроллируются.
•Без обновлений. Flash дает возможность выводить новые данные без обновления страницы.

Недостатки:

•Специальный модуль. Для просмотра Flash требуется установка специального отдельного плагина. Многие компании не разрешают своим сотрудникам самостоятельно устанавливать приложения на свой компьютер, что автоматически отсекает огромную часть потенциальных клиентов у компаний, использующих Flash в своем сайте.
•Худшее качество изображения. Сжатие видеофайлов и их воспроизведение в Flash MX не такого высокого качества, как в специально разработанных для этих целей программах - QuickTime, например. К тому же, Flash видео не позволяет устанавливать драйверы для оптимизации воспроизведения.
•Проблема индексации. Обычно поисковики не индексируют содержание Flash-анимации. Если вы создаете сайт, полностью основанный на Flash-технологиях, вам необходимо добавить текст или HTML, если вы хотите, чтобы ваш контент индексировался поисковиками. Это является самым большим недостатком Flash.
•Проблемы при печати. Выбор и печать текста анимации Flash для большинства пользователей непривычны и не так легки, как в HTML-сайтах. Они не могут отделить текст от ненужной им анимации.

Hosted by uCoz