Macromedia Flash (в русскоязычном варианте – "флеш" или "флэш") – инструмент для создания анимированных объектов (изображений, схем навигации, динамических web-узлов, игр, проигрывателей, мультфильмов, музыкального видео и т. д.) на основе векторной графики со встроенной поддержкой интерактивности. Macromedia Flash интенсивно используется дизайнерами и веб-художниками как очень простое в использовании и при этом позволяющее создавать разнообразные веб-проекты со звуковой анимацией.
Изначально программа Flash предназначалась для создания быстро загружаемой веб-анимации. Но, постепенно развиваясь, Flash становился все более эффективным и мощным. В настоящее время Flash широко используется для анимирования изображений, но наряду с этим его можно применять и для решения более сложных интерактивных задач.
Программа Flash прошла путь от простого аниматора до самостоятельного средства разработки мультимедийных продуктов. Сегодня трудно представить Интернет без Flash и всего того, что было создано благодаря этой технологии.
Особенности Macromedia Flash
Технология Flash, базирующаяся на векторной графике, всегда занимала лидирующую позицию среди цифровых технологий передачи быстро загружаемой анимации. Данные свойства Flash хорошо известны широкому кругу пользователей. Но этим возможности программы не ограничиваются. По мере развития приложения расширялась и область его применения. Сегодня Flash предлагает средства создания продуктов как для Интернета и современных персональных компьютеров, так и для игровых приставок, а также средств мобильной связи.
Внутренний язык программирования Action Script позволяет сопровождать действия или события звуковыми или видео эффектами, проводить сложные математические расчеты. Возможности Action Script сравнимы с возможностями JavaScript и VBScript. Подобно многим другим языкам программирования, термины Action Script определяют смысловую нагрузку, порядок их следования – логическую структуру, а знаки препинания – контекст. AS также позволяет передавать какие-либо параметры при выполнении CGI. Также CGI может быть вызванным из Flash, выполнить какие-либо действия и выдать ответ в виде заранее подготовленного Flash-клипа.
Подход Flash к разработке также облегчает создание сложных мультимедийных презентаций, при этом размеры файлов остаются небольшими. Так как такие элементы, как векторы, растровые изображения и звук обычно используются в одном проекте не один раз, Flash, благодаря своей внутренней функции Symbol Conversation позволяет создавать единственный экземпляр объекта, который можно использовать повторно, а не пересоздавать каждый раз новый. Такой подход существенно уменьшает размер файла проекта.
Также разработана библиотека – Library. Она представляет собой перечень всех используемых констант, в качестве которых могут выступать как нарисованные символы, так и импортированные графика и звуки. С помощью библиотеки можно обращаться к любому элементу независимо от того на каком слое или кадре он находится.
Главный решающий фактор, определяющий способность Flash создавать быстро загружающиеся приложения мультимедиа для Web – это передача содержимого в потоковом режиме.
Способы применения Flash, несмотря на некоторые небольшие минусы, такие как требование от пользователя специального модуля расширения (plug-in), очень широки. Flash-проект способен сделать Web-страницу более привлекательной и стильной, а Flash баннер – затмить обычные анимированные GIF, тем более, что Flash-клипы (и любые действия в них) можно озвучивать. Способы применения этой технологии выражаются в следующих объектах: Flash баннер, заставка в виде Flash-ролика, страница, представляющая собой Flash Movie, элемент дизайна в HTML-документе, фоновый звук к HTML-странице (в формате mp3).
Macromedia снабжает все свои продукты очень хорошо организованной и всеобъемлющей справочной системой и обучающими примерами в формате Flash, по которым можно освоить основные навыки работы с символами и текстом, организации flash-презентаций, синхронизации звука и создания кнопок.
Macromedia выпустила Flash-проигрыватели для всех основных операционных систем и типов браузеров, что обеспечило необходимую для Интернет кросс-платформенность и популярность этой технологии. Согласно последним опросам в Сети, приблизительно 80% пользователей могут просматривать содержимое Web-сайтов на Flash без загрузки дополнительного программного обеспечения.
История создания и развития
Началом истории «флэш» можно считать конец 1980-х годов, когда была образована компания Macromedia. Создана она была в Калифорнии, в результате слияния трех игроков рынка ПО: Macromind, небольшой чикагской компании, которая специализировалась на разработке программного обеспечения (один из продуктов – приложение VideoWorks); компании Paracomp из Сан-Франциско, производящей SD-приложение для Macintosh; а также фирме Authorware из Миннесоты, известной своим мультимедийным приложением Authorwar. Сначала объединились Macromind и Paracomp, позже к ним примкнула компания Authorware.
Но это лишь административное слияние. Что же касается самой программы, то у ее истоков стоял Джонатан Гай, создавший в свое время такие известные игры для Macintosh, как Dark Castle и Beyond Dark Castle. В январе 1993 года, вместе со своим партнером и программистом Чарли Джексоном, он основал компанию FutureWave, которая представила на рынке программного обеспечения приложение Go для планшетных компьютеров. Приложение, которое разрабатывалось целый год, так и осталось невостребованным. Но благодаря небольшой графической программе SmallSketch, которая создавалась как дополнение к Go, фирма не умерла. Новый продукт продвигался на рынке как программа для рисования, рассчитанная и на Macintosh, и на Windows. Возможно, одним из ярчайших примеров дальновидных действий разработчиков можно считать принятие решения о переделке SmallSketch из приложения, предназначенного для создания статических изображений, в программу подготовки анимации. Толчком послужило развитие Интернета. Глобальная сеть должна была стать прекрасной средой для передачи двухмерной анимации.
После того как компании Adobe и Fractal Design отказались покупать данную технологию, компания Future-Wave подготовила собственную программу FutureSplash Animator, выход которой пришелся на лето 1996 года. Это приложение предназначалось для создания линейной анимации на базе векторной графики. Данный продукт сразу привлек к себе внимание и был использован при разработке Web-версии MSN компанией Microsoft, а также при разработке электронной версии Disney Daily Blast компанией Disney.
В ноябре 1996 года Future Wave получила предложение о совместной работе от компании Macromedia. Для небольшой фирмы, штат которой состоял лишь из шести человек, это был прекрасный шанс. В декабре 1996 года компания Macromedia купила технологию FutureSplash у Future Wave, а уже в начале 1997 года выпустила первую версию Flash 1.
После передачи эстафеты компании Macromedia началось интенсивное развитие Flash. С каждой новой версией пополнялся арсенал инструментов и функций этого программного средства. А после нескольких принятых соглашений об использовании Flash в качестве Web стандарта, он стал легко интегрироваться с HTML, что позволяет встроить Flash проект практически без швов. Flash не требует ничего дополнительного для перехода по ссылке, открытия окна браузера или выполнения чего-либо посредством HTML.
1 мая 2008 г. компания Adobe объявила о начале проекта Open Screen Project. Цель проекта — создание общего программного интерфейса для персонального компьютера, мобильных устройств и бытовой электроники, что означает одинаковое функционирование одного приложения под всеми перечисленными видами устройств. В рамках проекта
снимаются ограничения на использование спецификаций SWF и FLV/F4V;
публикуются API для портирования Adobe Flash Player на различные устройства.
В поддержку проекта и распространение платформы Flash на мобильных устройствах на данный момент выступило 58 компаний, среди которых AMD, ARM, Google, HTC, Intel, Motorola, Nokia, NVIDIA, QNX, Sony Ericsson, др.
Flash Player портирован на мобильную платформу Android, выпущены мобильные устройства с аппаратным ускорением flash-приложений (включая AIR-приложения).
Некоторые производители ПО для мобильных устройств пытаются заменить или ограничить распространение Flash на свои новые мобильные платформы:
- Apple на HTML5 для iPhone, iPod touch и iPad
- Microsoft на Silverlight для Windows Phone 7
- Oracle на JavaFX
История версий
- Flash 1. Приложение Flash 1 было, по сути, переименованной версией программы FutureSplash с довольно ограниченным набором функций (с точки зрения современных стандартов) и предназначалось для анимирования векторных изображений с использованием временной шкалы. Главное достоинство данной программы заключалось в возможности воспроизведения анимации в сети с использованием подключаемого модуля Netscape и элементов управления ActiveX Internet Explorer.
- Flash 2. Версия Flash 2 характеризовалась рядом существенных усовершенствований. Ее выход послужил началом превращения Flash из простой анимационной программы в интерактивное медиаприложение. В программе появились возможности применения библиотечных элементов, внедренных графических изображений и векторных шрифтов, а также обработки стереозвука. Данная версия также поддерживала импорт изображений и многочисленные форматы файлов: EPS, GIF, JPEG, AutoCAD DFX, BMP, Enhanced Metafile, AIFF, Windows Metafile и Shockwave.
- Flash 3. Одним из наиболее значительных усовершенствований Flash 3 (наряду с улучшенным интерфейсом) следует считать внедрение действий (actions). Базирующиеся на JavaScript действия (позже на их основе был разработан язык ActionScript) обеспечили некоторый контроль над фильмами, а также определенный уровень их интерактивности. Такие новинки, как маски, промежуточные изображения и прозрачность позволили пользователям заметно улучшить внешний вид изображений, подготавливаемых средствами Flash.
- Flash 4. Важнейшая характеристика Flash 4 – возможность воспроизведения сжатых МРЗ-файлов в фильмах. В данной версии заметно усовершенствован язык ActionScript, что открыло возможности создания интерактивных игр и интерфейсов. Заслуживают упоминания также редактируемые текстовые поля, улучшенный пользовательский интерфейс и упрощенный процесс публикации продуктов.
- Flash 5. Самым существенным шагом вперед в Flash 5 является усовершенствованный язык ActionScript. Приведенный в соответствие стандарту ЕСМА-262, новый язык позволил компании Macromedia объявить, что ее Flash и ActionScript готовы конкурировать на рынке с самыми именитыми продуктами в данной области. Другие усовершенствования касались пользовательского интерфейса. В их числе – дополнительные инструменты и панель Movie Explorer, возможности получения помощи через Интернет, обновления продуктов и создания пользовательских комбинаций клавиш.
- Flash MX – это интегрированные решения для цифровых медиатехнологий на базе Интернета. Поскольку все продукты Macromedia (Flash, Dreamweaver, ColdFusion и т. д.) могут быть тесно интегрированы, компания решила, что правильно включить в имена авторских приложений общий элемент. MX – это метка, присваиваемая программным средствам семейства Macromedia. Название проигрывателя Flash Player как и прежде снабжено номером текущей версии (Flash Player 6). Добавлена поддержка Flash Remoting и веб-служб. Поддерживает потоковые аудио и видео, а также программы экранных считывателей для слабовидящих людей. Добавлены также видеокодеки Sorenson Sparc Flash Video.
- Macromedia Flash Player 7 (версия 7.0.14.0, кодовое название Mojo). Вышел 10 сентября 2003. Отличается поддержкой прогрессивного потокового аудио и видео (HTTP), поддержкой ActionScript 2.0, и объектно-ориентированного программирования для разработчиков.
- Macromedia Flash Player 8 (версия 8.0.22.0, кодовое название Maelstrom). Был представлен 13 сентября 2005. Добавлена возможность поддержки изображений в GIF и PNG форматах, новый видеокодек (On2 VP6). Также улучшена производительность и добавлены динамические фильтры такие, как «размытие» и «тень». Добавлена возможность загрузки/скачивания файлов. Осуществлен пиксельный рендеринг текста и представлены новые правила безопасности для предотвращения небезопасных действий при выполнении.
- Macromedia Flash Lite 1.0 и 1.1 основан на Flash Player 4 и предназначен для мобильных устройств.
- Macromedia Flash Lite 2.0 вышел в декабре 2005 года, основан на Flash Player 7 и также предназначен для мобильных устройств
- Adobe Flash Player 9 (версия 9.0.15.0, кодовое название Zaphod) появился в июне 2006 года, изначально назывался Flash Player 8.5. Его характеристики:
Новый скриптовый движок ECMAScript, ActionScript Virtual Machine AVM2. (AVM сохранён для совместимости.)
Actionscript 3 через AVM2.
E4X, который является новым подходом к синтаксическому анализу XML.
Поддержка бинарных сетевых соединений.
Поддержка регулярных выражений и пространства имён
Виртуальная машина ECMAScript 4 пожертвована Фонду Mozilla и названа Tamarin.
- Adobe Flash Player 9 Update 1 (версия 9.0.28.0, кодовое название Marvin) вышел в ноябре 2006 и отличается тем, что способен поддерживать полноэкранный режим.
- Adobe Flash Lite 2.1, вышедший в декабре 2006 года, теперь запускается через платформу BREW
- Adobe Flash Lite 3, который был анонсирован еще в феврале 2007, характеризуется добавленной возможностью поддержки формата FLV
- Adobe Flash Player 9 Update 2 (версия Mac/Windows 9.0.47.0 и Linux 9.0.48.0, кодовое название Hotblack), вышел в июле 2007-го. Добавлена функция Security Update
- Adobe Flash Player 9 Update 3 (версия 9.0.115.0, кодовое название Moviestar или Frogstar), появилась в декабре 2007 года. Новшества: H.264 и AAC (HE-AAC, AAC Main Profile, and AAC-LC); формат файла мультимедиа ISO Base (MPEG-4 Part 12)
- Adobe Flash Player 10 32-bit (версии для Windows, Linux и Mac; кодовое название Astro) (15 октября 2008). Отличия:
3D эффекты;
различные фильтры и эффекты;
расширенная схема размещения текста;
улучшено API рисования;
улучшение производительности визуализации;
медиа;
Speex Audio Codec;
RTMFP (Real Time Media Flow Protocol).
- Adobe Flash Player 10 64-bit Linux prerelease (16 декабря 2008) - версии для Windows и Mac вышли одновременно с релиз версией для Linux.
- Adobe Flash Player 10 64-bit Preview 3 для Windows, Mac и Linux (30 ноября 2010). Возможна родная поддержка 64 битных браузеров без необходимости использования nswrapper.
- Adobe Flash Player 10 Update 1
- Adobe Flash Player 10 Update 2
- Adobe Flash Player 10 Update 3 (версия 10.3.181.14) (12 мая 2011)
- Adobe Flash Player 11 RC1 (версия 11.0.r1.129) (6 сентября 2011) В данной версии впервые осуществлена полная поддержка 64x-битных систем и браузеров на ОС Linux, Mac OS, Windows. Добавлена поддержка JPEG XR
- Adobe Flash Player 11.1
- Adobe Flash Player 11.2 (версия 11.2.202.235)
- Adobe Flash Player 11.3 (версия 11.3.300.270) (4 августа 2012)
- Adobe Flash Player 11.4 (бета-версия 11.4.402.259 beta 2) (10 августа 2012)
- Adobe Flash Player Metro (11.3.372.94) (26 июля 2012). Добавлена специальная версия для Internet Explorer 10, используемая с целью экономии мобильных ресурсов в Metro-версии Windows 8.
3D-движки
Существуют 3D движки, использующие в качестве основы Flash:
- Papervision3D — самый известный Open Source движок. Векторная прорисовка по треугольникам.
- Away3D — создан Александром Задорожным из Киева на основе проекта Papervision3D. В данный момент — ведущий Open Source движок. Также векторная прорисовка.
- Sandy — в использовании проще, чем Papervision3D. Open Source. Также векторная прорисовка.
- FFilmation AS3 Flash Isometric Engine — изометрический движок. Open Source.
- Infinity 3D Engine — движок с динамическим BSP. Разрабатывается энтузиастом из Санкт-Петербурга Алексеем Романовым.
- Alternativa Platform — платформа для трёхмерных игр, разрабатываемая группой из Перми. За флеш отвечает Антон Волков. Векторная прорисовка по треугольникам. На данной платформе создана игра Танки Онлайн. Включает графический движок Alternativa3D 8 с поддержкой 3D API Molehill.
- ZenBullets Flash Isometric 3D Game Engine — изометрическая игровая платформа.
До 2011 года производительность flash была недостаточной для отрисовки сложных 3D-сцен в реальном времени. Сцены выглядели значительно менее детальными и правдоподобными, в сравнении со сценами, отображаемыми с помощью современных 3D-движков, основанных на другой технологической платформе (как например "Unreal Engine"). Это было связано с тем, что прежние версии flash не позволяли задействовать 3D-возможности современной видеокарты. Ситуация изменилась в конце 2011 года, когда Adobe выпустила flash 11 с поддержкой аппаратного графического ускорения. Это даёт возможность отрисовывать сцены с гораздо большим количеством деталей и отображать высококачественные графические эффекты, ранее недоступные из-за своей ресурсоёмкости. При этом следует отметить, что многие возможности, реализованные в современных видеокартах, по-прежнему остаются недоступными для флеша.
Недостатки
При всех своих достоинствах, flash-приложения имеют и ряд достаточно существенных недостатков.
- Основной недостаток — это чрезмерная нагрузка на центральный процессор, связанная с неэффективностью виртуальной машины Flash Player. Хотя следует отметить, что в некоторых случаях имеет место и недостаточная оптимизация flash-приложений их разработчиками, использование так называемых «генераторов» flash-приложений.
- Недостаточный контроль ошибок. Это приводит к частым отказам как самих приложений, так, в некоторых случаях, и всего браузера. Возможность flash-приложений нарушать работу всего браузера неоднократно вызывала критику со стороны разработчиков браузеров.
- Данный недостаток вообще характерен для всех виртуальных машин. Он заключается в том, что запуск flash-приложения связан с некоторыми трудностями. Например, некоторые пользователи или администраторы отключают в настройках браузеров flash-контент, с целью сэкономить системные ресурсы, сократить вездесущую баннерную и прочую другую рекламу, а также обеспечить дополнительную информационную безопасность. Этот недостаток делает технологию Flash менее универсальной и ограничивает её применение в веб-приложениях критической важности.
- При использовании Flash для размещения текстовой информации, её индексирование поисковыми системами несколько затруднено. И хотя в принципе определённая система индексирования текста внутри swf-файлов была создана и внедрена Google и Yahoo ещё в 2008 году, но доля сайтов, целиком созданных на Flash, остаётся небольшой.
- Приложения Flash, работающие в версии FlashPlayer, ниже 11.2, не могут использовать правую кнопку мыши, зарезервированную для настроек самого Flash.
- Как редактор Adobe Flash CS5 не может конвертировать созданные в нём векторные изображения в форматы другого типа: .ai или .cdr, что было бы крайне полезным.
Альтернативы
Прямым конкурентом Flash является технология Silverlight от Microsoft. Технология Java-апплетов также является альтернативой Flash в веб-приложениях, но значительно уступает в надёжности и простоте создания графики и анимации.
В браузерах отдельные части Flash могут быть заменены посредством HTML 5, JavaScript (и AJAX), SVG.
Известные проекты, использующие технологию Flash
С помощью данной технологии создано немало известных и широко распространенных в сети мультфильмов и игр.
Мультфильмы:
- Масяня
- Магазинчик БО
- Шесть с половиной
- Грязный Гарри
- Антимульт
- Happy Tree Friends
- Про Лёву и Барсука
- Падонки in da flash
Игры:
- N
- Eyezmaze
- Фрагория
- TimeZero
- Destiny Sphere
- Иштвар: Война Братьев