Adobe flash какой язык
This article is about the multimedia software platform. For the application/animation software, see Adobe Animate. For the player, see Adobe Flash Player.
-
(2021–present for enterprise users) [1][2][3][4]
- Zhongcheng (2017–present in China) [5] (2005–2020) (1996–2005) (1993–1996)
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Flash displays text, vector graphics, and raster graphics to provide animations, video games, and applications. It allows streaming of audio and video, and can capture mouse, keyboard, microphone, and camera input.
Artists may produce Flash graphics and animations using Adobe Animate (formerly known as Adobe Flash Professional). Software developers may produce applications and video games using Adobe Flash Builder, FlashDevelop, Flash Catalyst, or any text editor combined with the Apache Flex SDK. End users view Flash content via Flash Player (for web browsers), Adobe AIR (for desktop or mobile apps), or third-party players such as Scaleform (for video games). Adobe Flash Player (which is available on Microsoft Windows, macOS, and Linux) enables end users to view Flash content using web browsers. Adobe Flash Lite enabled viewing Flash content on older smartphones, but since has been discontinued and superseded by Adobe AIR.
The ActionScript programming language allows the development of interactive animations, video games, web applications, desktop applications, and mobile applications. Programmers can implement Flash software using an IDE such as Adobe Animate, Adobe Flash Builder, Adobe Director, FlashDevelop, and Powerflasher FDT. Adobe AIR enables full-featured desktop and mobile applications to be developed with Flash and published for Windows, macOS, Android, iOS, Xbox One, PlayStation 4, Wii U, and Nintendo Switch.
Flash was initially used to create fully-interactive websites, but this approach was phased out with the introduction of HTML5. Instead, Flash found a niche as the dominant platform for online multimedia content, particularly for browser games. Following an open letter written by Steve Jobs in 2010 stating that he would not approve the use of Flash on their iOS devices due to numerous security flaws, use of Flash declined as Adobe transitioned to the Adobe Air platform. The Flash Player was deprecated in 2017 and officially discontinued at the end of 2020 for all users outside China, as well as non-enterprise users, [6] with many web browsers and operating systems scheduled to remove the Flash Player software around the same time. Adobe continues to develop Adobe Animate, which supports web standards such as HTML5 instead of the Flash format. [7]
Adobe Flash (ранее Macromedia Flash), или просто Flash ( /flæʃ/ , по-русски часто пишут флеш или флэш) — мультимедийная платформа компании Adobe для создания веб-приложений или мультимедийных презентаций. Широко используется для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей.
Платформа включает в себя ряд средств разработки, прежде всего Adobe Flash Professional и Adobe Flash Builder (ранее Adobe Flex Builder); а также программу для воспроизведения flash-контента — Adobe Flash Player, хотя flash-контент умеют воспроизводить и многие плееры сторонних производителей. Например, SWF-файлы можно просматривать с помощью свободных плееров Gnash или swfdec, а FLV-файлы воспроизводятся через мультимедийный проигрыватель Quicktime, и различные проигрыватели в UNIX-подобных системах при наличии соответствующих плагинов.
Adobe Flash позволяет работать с векторной, растровой и ограниченно с трёхмерной графикой, а также поддерживает двунаправленную потоковую трансляцию аудио и видео. Для КПК и других мобильных устройств выпущена специальная «облегчённая» версия платформы Flash Lite, функциональность которой ограничена в расчёте на возможности мобильных устройств и их операционных систем.
Стандартным расширением для скомпилированных flash-файлов (анимации, игр и интерактивных приложений) является .SWF [1] (Shockwave Flash или Small Web Format). Видеоролики в формате Flash представляют собой файлы с расширением FLV или F4V (при этом Flash в данном случае используется только как контейнер для видеозаписи [2] ). Расширение FLA соответствует формату рабочих файлов в среде разработки.
Содержание
Технологии
Flash Player представляет собой виртуальную машину, на которой выполняется загруженный из Интернета код flash-программы.
В основе анимации во Flash лежит векторный морфинг, то есть плавное «перетекание» одного ключевого кадра в другой. Это позволяет делать сложные мультипликационные сцены, задавая лишь несколько ключевых кадров. Производительность Flash Player при воспроизведении анимации в несколько раз превышает производительность виртуальной машины Javascript в браузерах, поддерживающих предварительный стандарт HTML5 [3] , хотя во много раз уступает приложениям, работающим вообще без использования виртуальных машин.
Flash использует язык программирования ActionScript, основанный на ECMAScript.
1 мая 2008 г. компания Adobe объявила о начале проекта Open Screen Project ([2]). Цель проекта — создание общего программного интерфейса для персонального компьютера, мобильных устройств и бытовой электроники, что означает одинаковое функционирование одного приложения под всеми перечисленными видами устройств. В рамках проекта:
- Снимаются ограничения на использование спецификаций SWF и FLV/F4V.
- Публикуются API для портирования Adobe Flash Player на различные устройства.
- Упраздняются платные лицензии для Adobe Flash Player и Adobe AIR на устройствах. Ближайший их релиз будет бесплатным.
В поддержку проекта и распространение платформы Flash на мобильных устройствах на данный момент выступило 58 компаний, среди которых AMD, ARM, Google, HTC, Intel, Motorola, Nokia, NVIDIA, QNX, Sony Ericsson и др. [источник не указан 546 дней]
Flash Player портирован на мобильную платформу Android, выпущены мобильные устройства с аппаратным ускорением flash-приложений (включая AIR-приложения).
Некоторые производители ПО для мобильных устройств пытаются заменить или ограничить распространение Flash на свои новые мобильные платформы:
История
Технология векторного морфинга применялась задолго до Flash. В 1986 году была выпущена программа Fantavision, которая использовала эту технологию. В 1991 году на этой технологии была выпущена игра Another World, а двумя годами позже — Flashback.
Разработка Flash была начата компанией FutureWave, создавшей пакет анимации FutureSplash Animator. В 1996 году FutureWave была приобретена компанией Macromedia, которая переименовала FutureSplash Animator в Flash. Под этим наименованием платформа продолжает развиваться и поныне (хотя после того, как в 2005 году компания Macromedia была поглощена Adobe, Macromedia Flash стал официально называться Adobe Flash).
3D-движки
Существуют 3D движки, использующие в качестве основы Flash:
-
(англ.) — самый известный Open Source движок. Векторная прорисовка по треугольникам. (англ.) — создан Александром Задорожным из Киева на основе проекта Papervision3D. В данный момент — ведущий Open Source движок. Также векторная прорисовка. (англ.) — в использовании ещё проще, чем Papervision3D. Open Source. Также векторная прорисовка. (англ.) — изометрический движок. Open Source. — движок с динамическим BSP [4] . Разрабатывается энтузиастом из Санкт-Петербурга Алексеем Романовым. — платформа для трёхмерных игр, разрабатываемая группой из Перми. За флеш отвечает Антон Волков. Векторная прорисовка по треугольникам. На данной платформе создана игра Танки Онлайн. Включает графический движок Alternativa3D 8 с поддержкой 3D API Molehill. — изометрическая игровая платформа.
До 2011 года производительность flash была недостаточной для отрисовки сложных 3D-сцен в реальном времени. Сцены выглядели значительно менее детальными и правдоподобными, в сравнении со сценами, отображаемыми с помощью современных 3D-движков, основанных на другой технологической платформе (как например "Unreal Engine"). Это было связано с тем, что прежние версии flash не позволяли задействовать 3D-возможности современной видеокарты. Ситуация изменилась в конце 2011 года, когда Adobe выпустила flash 11 с поддержкой аппаратного графического ускорения. Это даёт возможность отрисовывать сцены с гораздо большим количеством деталей и отображать высококачественные графические эффекты, ранее недоступные из-за своей ресурсоёмкости. При этом следует отметить, что многие возможности, реализованные в наиболее современных видеокартах, по прежнему остаются недоступными для флеша. [источник не указан 213 дней]
Недостатки
Основной недостаток flash-приложений — чрезмерная нагрузка на центральный процессор, связанная с неэффективностью виртуальной машины Flash Player. Хотя следует отметить, что в некоторых случаях имеет место и недостаточная оптимизация flash-приложений их разработчиками, использование так называемых «генераторов» flash-приложений.
Второй важный недостаток flash-приложений заключается в недостаточном контроле ошибок, что приводит к частым отказам как самих приложений, так, в некоторых случаях, и всего браузера. Возможность flash-приложений нарушать работу всего браузера неоднократно вызывала критику со стороны разработчиков браузеров.
Ещё один недостаток, характерный для всех виртуальных машин, заключается в том, что не всегда есть возможность запустить flash-приложение, либо это связано с некоторыми трудностями. Например, некоторые пользователи или администраторы отключают в настройках браузеров flash-контент, что связано с экономией системных ресурсов, избавлением от надоевшей рекламы и информационной безопасностью (например, была обнаружена угроза перехвата flash-приложением содержимого буфера обмена [5] ). Этот недостаток делает технологию Flash менее универсальной и ограничивает её применение в веб-приложениях критической важности.
Четвёртый важный недостаток заключается в том, что использование Flash для размещения текстовой информации затрудняет её индексирование поисковыми системами. И хотя в принципе определённая система индексирования текста внутри swf-файлов была создана и внедрена Google и Yahoo ещё в 2008 году, но доля сайтов, целиком созданных на Flash, остаётся небольшой.
Приложения Flash также не могут использовать правую кнопку мыши, зарезервированную для настроек самого Flash.(Можно, но для этого надо использовать FlashPlayer 11.2+)
Как редактор Adobe Flash CS5 не может конвертировать созданные в нём векторные изображения в форматы другого типа: .ai или .cdr, что было бы крайне полезным.
Закрытость
Спецификация SWF версии 4 была открыта, но описания последующих версий продавались только с подпиской о неразглашении, и их было запрещено использовать для создания проигрывателей Flash.
В мае 2008 года Adobe Systems объявила об открытии спецификаций [уточнить] SWF и видео контейнера FLV для использования на значительно более мягких условиях, как часть проекта « Open Screen Project », ориентированного на создание общей среды Flash на всех устройствах.
Рэй Вальдес (Ray Valdes) из Gartner, Inc. считает одной из причин открытия спецификаций конкуренцию со стороны Microsoft Silverlight, однако представитель Adobe Дэйв МакАллистер (Dave McAllister) заявил, что это не так.
Однако запатентованные кодеки, используемые в FLV, принадлежат не Adobe, [6] а скачанную спецификацию, в которой нет, например, описания протокола RTMP (20 января 2009 Adobe объявила, что опубликует его в первой половине 2009), [7] [8] нельзя распространять и переводить. [1] Flash Player остаётся проприетарным, хотя Adobe обещала сделать использование его на мобильных платформах бесплатным. Осенью 2011 года, компания Adobe заявила о прекращении поддержки мобильных платформ.
Разработчик свободного декодера Swfdec Бенджамин Отте (Benjamin Otte) написал, что в открытой спецификации нет ничего, чего бы ещё не было известно [9] благодаря реверс-инжинирингу, хотя официальная спецификация может быть понятнее для новичков и полезна при возникновении вопросов о легальности библиотеки. [10] О том же говорят и разработчики Gnash. [11] Они также считают возможной причиной этого частичного открытия спецификаций успехи свободных декодеров SWF и конкурирующего проприетарного формата Silverlight. [12]
В феврале 2009 компания Adobe в рамках проекта Open Screen Project опубликовала информацию о снятии ограничений на использование форматов SWF и FLV/F4V, а также протоколов AMF и Mobile Content Delivery Protocol.
Уязвимости
В реализациях Adobe Flash время от времени находят «дыры», позволяющие злоумышленникам производить разнообразные действия с системой. [13] [14] [15] Так, например, в октябре 2008 года была найдена уязвимость, позволяющая удалённо контролировать веб-камеру и микрофон. [16] .
Альтернативы
Прямым конкурентом Flash является технология Silverlight от Microsoft. Технология Java-апплетов также является альтернативой Flash в веб-приложениях, но значительно уступает в надёжности и простоте создания графики и анимации.
В браузерах отдельные части Flash могут быть заменены посредством HTML 5, JavaScript (и AJAX), SVG.
ActionScript является языком программирования, используемым в средах выполнения Adobe® Flash® Player и Adobe® AIR™. Он обеспечивает интерактивность, обработку данных и многие другие возможности в содержимом Adobe Flash, Flex и AIR, а также в приложениях.
ActionScript выполняется виртуальной машиной ActionScript, AVM, которая является частью проигрывателя Flash Player и пакета AIR. Код ActionScript обычно преобразуется компилятором в формат байт-кода. (Байт-код — это тип языка программирования, написанный и распознаваемый компьютером.) Среди примеров компиляторов — компилятор, встроенный в Adobe® Flash® Professional, компилятор, встроенный в Adobe® Flash® Builder™, а также компилятор, доступный в компоненте Adobe® Flex™ SDK. Байт-код встроен в SWF-файлы, которые исполняет проигрыватель Flash Player и пакет AIR.
ActionScript 3.0 предлагает надежную модель программирования, знакомую разработчикам, имеющим базовые понятия об объектно-ориентированном программировании. Ниже перечислены некоторые из основных функций ActionScript 3.0, добавленные в процессе усовершенствования предыдущих версий ActionScript.
Новая виртуальная машина ActionScript, называемая AVM2, использует новый набор инструкций в байт-кодах и обеспечивает значительный прирост производительности
Более современный программный код компилятора выполняет оптимизацию на более высоком уровне, чем предыдущие версии компилятора.
Расширенный и улучшенный интерфейс программирования приложений (API) с контролем объектов на нижнем уровне и подлинной объектно-ориентированной моделью
Интерфейс программирования приложений XML создан на основе спецификации ECMAScript для XML (E4X) (ECMA-357 редакция 2). E4X является расширением языка ECMAScript, который добавляет XML в качестве поддерживаемого языком типа данных.
Модель события на основе спецификации событий DOM уровня 3
Преимущества ActionScript 3.0
ActionScript 3.0 превосходит возможности создания сценариев предыдущих версий ActionScript. Специально разработан, чтобы облегчить создание сложных приложений с большим набором данных и объектно-ориентированным, многократно используемым программным кодом. ActionScript 3.0 не требуется для содержимого, выполняемого в проигрывателе Adobe Flash Player. Однако он обеспечивает возможности повышения производительности, которые доступны только в AVM2 (виртуальная машина ActionScript 3.0). Код ActionScript 3.0 может выполняться до десяти раз быстрее, чем код прежней версии ActionScript.
Предыдущая версия виртуальной машины ActionScript, AVM1, выполняет код ActionScript 1.0 и ActionScript 2.0. Flash Player 9 и 10 поддерживает AVM1 в целях обратной совместимости.
Новые возможности ActionScript 3.0
Хотя ActionScript 3.0 содержит много классов и функций, знакомых программирующим на ActionScript 1.0 и 2.0, архитектурная и концептуальная составляющие ActionScript 3.0 отличаются от предыдущих версий ActionScript. Улучшения в ActionScript 3.0 включают новые возможности языка ядра и усовершенствования в прикладном интерфейсе программирования, которые обеспечивают улучшенное управление объектами нижнего уровня.
Возможности языка ядра
Язык ядра определяет основные конструктивные элементы языка программирования, такие как инструкции, выражения, условия, циклы и типы. ActionScript 3.0 содержит много новых функций, которые ускоряют процесс разработки.
Исключения при выполнении
Типы выполнения
В ActionScript 3.0 информация о типе сохраняется в среде выполнения. Эта информация используется для проверки типа выполнения, благодаря чему повышается уровень безопасности типа системы. Информация о типе также используется для создания машинного представления переменных, что повышает производительность и уменьшает использование памяти. Для сравнения, в ActionScript 2.0 аннотации типа являются в основном вспомогательным инструментом разработчика, а все значения динамически вводятся во время выполнения.
Запечатанные классы
В ActionScript 3.0 представлена концепция запечатанных классов. Запечатанный класс обладает фиксированным набором свойств и методов, определенных во время компиляции; дополнительные свойства и методы к нему добавить нельзя. Благодаря отсутствию возможности изменения класса во время выполнения обеспечивается более строгая проверка при компиляции и создание более надежных программ. Также оптимизируется использование памяти, поскольку для каждого экземпляра объекта не требуется отдельная внутренняя хеш-таблица. Возможно использование динамических классов с помощью ключевого слова dynamic . Все классы в ActionScript 3.0 по умолчанию «запечатаны», но могут быть объявлены динамическими с помощью ключевого слова dynamic .
Закрытия методов
ActionScript 3.0 позволяет при закрытии метода автоматически запомнить исходный экземпляр объекта. Эта возможность особенно полезна при обработке событий. В ActionScript 2.0 при закрытиях методов не запоминалось, из какого экземпляра объекта они извлекались, что приводило к непредсказуемому поведению при вызове закрытия метода.
ECMAScript для XML (E4X)
В ActionScript 3.0 реализован язык сценариев ECMAScript для XML (E4X), недавно стандартизированный как ECMA-357. E4X предлагает органичный, очень удобный набор языковых конструкций для работы с XML. В отличие от стандартных прикладных интерфейсов программирования для разбора XML в языке E4X обеспечивается поддержка XML как встроенного типа данных. E4X упрощает разработку приложений, работающих с XML, значительно сокращая длину программных кодов.
Регулярные выражения
ActionScript 3.0 включает встроенную поддержку регулярных выражений, что позволяет быстро выполнять поиск и обработку соответствующих строк. Поддержка регулярных выражений в ActionScript 3.0 реализована в соответствии с их определением в спецификации языка ECMAScript (ECMA-262) версии 3.
Пространства имен
Пространства имен аналогичны традиционным спецификаторам доступа, используемым для управления видимостью деклараций ( public , private , protected ). Они работают как пользовательские спецификаторы доступа, имена для которых можно задавать по своему выбору. Во избежание коллизий пространства имен задаются идентификаторами URI, которые также используются для представления пространств имен XML при работе в E4X.
Новые типы примитивов
ActionScript 3.0 содержит три числовые типа: Number, int и uint. Тип Number представляет число с двойной точностью и плавающей запятой. Тип int задает 32-разрядные целочисленные значения со знаком, позволяя коду ActionScript использовать преимущество быстрой обработки целочисленных математических операций центральным процессором. Тип int удобен для создания счетчиков циклов и целочисленных переменных. Тип uint задает 32-разрядные целочисленные значения без знака, его удобно использовать для определения значений цвета RGB, байтовых счетчиков и т. д. В отличие от этого, в ActionScript 2.0 доступен только один числовой тип — Number.
Функции прикладных интерфейсов программирования (API)
Прикладные интерфейсы программирования (API) в ActionScript 3.0 содержат много классов, позволяющих управлять объектами на нижнем уровне. Усовершенствована архитектура языка: она стала более удобной и понятной, чем в предыдущих версиях. И хотя существует слишком много классов, чтобы они могли быть рассмотрены подробно, нелишне отметить некоторые значительные отличия.
Модель событий DOM3
События и события обработки ошибок размещаются в пакете flash.events. В компонентах Flash Professional и среде Flex используется аналогичная модель событий, поэтому система событий унифицирована на платформе Flash Platform.
Прикладной программный интерфейс списка отображения
Прикладной программный интерфейс для доступа к списку отображения (дерево, содержащее все визуальные элементы приложения) состоит из классов для работы с визуальными примитивами.
Класс Sprite является облегченным блоком построения, используемым в качестве базового класса для визуальных элементов, например компонентов пользовательского интерфейса. Класс Shape воспроизводит векторные фигуры без сжатия. Экземпляры этих классов легко могут создаваться с помощью оператора new , а затем динамически переназначаться в любое время другим родительским объектам.
Управление глубиной осуществляется автоматически. Методы предоставляются для определения порядка наложения объектов и управления им.
Обработка динамических данных и содержимого
ActionScript 3.0 содержит механизмы для загрузки ресурсов и данных в приложение с последующей их обработкой. Эти механизмы интуитивно понятны и согласованы с различными прикладными программными интерфейсами. Класс Loader предлагает единый механизм для загрузки SWF-файлов и графических ресурсов, а также обеспечивает способ доступа к детальной информации о загруженном содержимом. Класс URLLoader предлагает отдельный механизм для загрузки текстовых и двоичных данных в управляемые данными приложения. Класс Socket предлагает средства для считывания и записи двоичных данных в серверные сокеты в любом формате.
Доступ к данным на нижнем уровне
В различных прикладных программных интерфейсах обеспечивается доступ к данным низкого уровня. Для загружаемых данных класс URLStream обеспечивает доступ к несжатым двоичным данным непосредственно в процессе загрузки. Класс ByteArray позволяет оптимизировать чтение, запись и работу с двоичными данными. Прикладной интерфейс программирования звука обеспечивает точное управление звуком с помощью классов SoundChannel и SoundMixer. Прикладные программные интерфейсы взаимодействуют с системами безопасности, предоставляя информацию о соответствующих привилегиях SWF-файла или загруженного содержимого, позволяя обрабатывать ошибки в системе безопасности.
Работа с текстом
В ActionScript 3.0 входит пакет flash.text, содержащий все связанные с обработкой текста прикладные программные интерфейсы. Класс TextLineMetrics обеспечивает подробные метрики для строк текста в текстовом поле; он заменил метод TextFormat.getTextExtent() , использовавшийся в ActionScript 2.0. Класс TextField содержит ряд методов низкого уровня, предоставляющих определенную информацию о строке текста или об отдельном символе в текстовом поле. Например, метод getCharBoundaries() возвращает прямоугольник в виде ограничивающего прямоугольника символа. Метод getCharIndexAtPoint() возвращает указатель символа в заданной точке. Метод getFirstCharInParagraph() возвращает указатель первого символа в абзаце. К методам работы на уровне строк относятся метод getLineLength() , возвращающий число символов в указанной строке текста, и метод getLineText() , который возвращает текст из указанной строки. Класс Font обеспечивает средства для управления встроенными шрифтами в SWF-файлах.
Для управления текстом на более низком уровне классы в пакете flash.text.engine формируют механизм визуализации текста Flash. Этот набор классов обеспечивает управление текстом на низком уровне и предназначен для создания текстовых сред и компонентов.
Adobe Flash на сегодняшний день, по всей видимости, самая популярная мультимедийная интернет-платформа. Стоит лишь установить флеш-плейер и перед вами целый мир – видео, чаты, игры. А с выходом ActionScript 3 у разработчиков появились почти безграничные возможности.
Но было время, когда Flash был всего лишь маленькой программой для редактирования векторной анимации. Он появился на свет в 1996 году под именем FutureSplash Animator и сегодня, через четырнадцать лет, живёт почти во всех ипостасях – на персональных компьютерах, мобильных устройствах и серверах.
FutureSplash Animator – 1996 год
Первая программа для редактирования флэша называлась FutureSplash Animator и была создана Джоном Геем (John Gay) и Чарли Джексоном (Charlie Jackson), основателями компании FutureWave Software. Она была, по сути, расширенной версией другой их программы – FutureWave’s SmartSketch, векторного редактора для компьютеров с планшетным вводом. Первая версия FutureSplash Animator появилась в продаже в 1996-ом году, а уже через 7 месяцев компания Macromedia приобрела FutureWave и флэш получил привычное нам имя – Flash.
Flash 2 – 1997 год
Flash 2 не подарил пользователям особо заметных новых функций, но он знаменит хотя бы тем, что большинство флэшеров старой школы начинали именно с него. Пожалуй основное нововведение – Библиотека (Library), которая позволила хранить, управлять и экспортировать различные типы данных. Flash 2 уже умел дружить с кнопками, звуковыми эффектами и шрифтами. Поэтому он очень быстро стал одним из самых продвинутых инструментов для иллюстраторов, аниматоров и только-только зарождающейся семьи веб-художников.
Flash 3 – 1998 год
Через год после второй версии вышла Flash 3 и представила миру массу новых функций. В программе появились мувиклипы, была добавлена возможность работы с разными уровнями прозрачности объектов, а также файлы-проджекторы – исполняемые файлы-ролики, для запуска которых не требовался дополнительно установленный на компьютере флэш-плейер. Впервые появились экшены – первый шаг к современному интерактивному раю технологии Flash.
Flash 4 – 1999 год
Ко времени выхода четвёртой версии, Flash стал фактически стандартом веб-анимации. Четвёрка ещё больше раздвинула границы технологии. Изменились не только иконки инструментов, но и сами инструменты. Теперь можно было с лёгкостью переходить от редактирования сцен к редактированию объектов. Новые панели Инспектора (Inspector), сходные по функционалу с сегодняшними панелями Инфо (Info) и Трансформация (Transform), позволила более точно управлять объектами и анимацией. В Библиотеку (Library) тоже были внесены изменения – добавились папки и возможность редактировать объекты прямо в ней.
Flash 4 можно назвать прорывом в технологии, так как на передний план была выведена функция motion tweening, ставшая на долгие годы одной из основных функций редактора. Появилось полноценное управление слоями – видимость и возможность блокировки слоя. Функция добавления контура стала встроенной. Флэш стал поддерживать формат mp3, вследствие чего музыкальные интернет-плейеры заполонили сеть.
Стали доступны редактируемые текстовые поля, а так же экшен Get URL (c переменными POST и GET). Появились функции Load Variables и Load Movie, подарив поистине фантастические возможности. Флэш стал безумно популярен благодаря своим мощным инструментам, с помощь которых можно было создать всё, что угодно.
Flash 5 – 2000 год
Flash 5 попрощался с интерфейсом в стиле 90-х годов и вступил в новое тысячелетие с кучей новых функций. Появились самостоятельные панели Инфо (Info) и Трансформация (Transform) на месте в бозе почивших панелей Инспектора. Общая библиотека сделала возможность обмена объектами между разными проектами вещью простой, как никогда ранее. Ну и «гвоздь программы» — рождение ActionScript. Раньше экшены собирались исключительно путём выбора нужных функций в выпадающих менюшках. Ну а теперь разработчики сами могли писать свои скрипты. Это подарило разработчикам свободу с большой буквы «С» (ну и синтаксические ошибки, конечно). Настала эра флэш-игр.
Macromedia Flash MX – 2002 год
Версия Flash MX стала отправной точкой на долгом пути интеграции в графические пакеты. Впервые она вышла в составе пакет MX, предшественника адобовского Creative Suite. И, наконец, произошло разделение дизайнерских и программистских составляющих программы. Были представлены встроенные компоненты пользовательского интерфейса, а также XML. Был добавлен инструмент Свободная трансформация (Free Transform tool) и возможность группировать слои в папки. Очередная революционная функция – поддержка видео. Потоковое видео стало привычной вещью и до появления YouTube оставалось всего несколько лет.
Flash MX 2004 – 2003 год
Новые компоненты, ActionScript 2 и поддержка юникода. Flash MX 2004 это очередной шаг от скромного предка – редактора векторной графики к доминирующей платформе интернет-приложений.
Flash 8 – 2005 год
Во Flash 8 появились фильтры и режимы наложения, что ещё больше расширило возможности анимации. Новый режим Object drawing добавил функционал, который приблизил редактор по возможностям к Adobe Illustrator. Появились хинтинг контура, управление внешним видом конечных точек кривой (end caps). Управление скоростью анимации посредством редактирования кривой графика – ещё одна вкусная плюшка для аниматоров. Использовавшийся ранее видео-кодек Sorensen был заменён на On2 VP6 – совпадение или нет, но через три месяца был запущен YouTube.
Flash CS3 – 2007 год
Появившись в составе Adobe Creative Suite, Flash CS3 мог похвалиться обновлённым интерфейсом, улучшенной работой с видео и упрощённой работой по изменению внешнего вида компонентов. Одно из важных улучшений – возможность экспортировать анимацию, это позволило с лёгкостью переносить анимацию с одного объекта на другой. Релиз был отмечен максимальной интеграцией редактора с другими программами пакета – особенно с Photoshop и Flex. Ну а на десерт – появление ActionScript 3.0.
Flash CS4 – 2008 год
CS4 подарил инверсную кинематику – возможность строить анимацию на основе движений «скелета», а также Motion Editor – новую панель, дарящую потрясающую свободу управления анимацией (dope sheet в 3D-редакторах). Появилась начальная поддержка 3D.
Flash CS5 – 2010
Был улучшен редактор кода, инверсная кинематика, добавлены сниппеты и представлены новые форматы, основанные на XML – .XFL и .FXG, чтобы упростить работу с кодом и уменьшить количество ошибок, связанных со старым бинарным форматом файлов. Появилась программа Flash Catalyst – новый инструмент, позволяющий экспортировать данные из других программ пакета с минимальным количеством усилий и проблем.
Будущее
Флэш прошёл долгий путь от простого редактора векторной графики до комплексной платформы с самыми широкими возможностями. Для некоторых переход от чистой анимации к платформе интернет-приложений и игр может показаться излишним, но возможности, предоставленные флэшем бесчисленному количеству художников, аниматоров, разработчиков и дизайнеров полностью нивелируют эту «чрезмерность». Будущее флэша в качестве инструмента для интернет-анимации выглядит несколько туманным – SVG, JavaScript, и CSS3 смогут с лёгкостью заменить этот сложный пакет программ во многих областях. Но что касается интернет-приложений и разработки игр, тут Flash на долгие годы останется лучшим выбором для разработчика.
Технология Flash оставила свой след в истории сети Интернет и стандартах дизайна всего за несколько лет, но столь серьезные вещи появляются не каждый день. И так: откуда же появился Flash? Что лежало в его основе? Данная статья отвечает на эти и многие другие вопросы.
С чего все начиналось
А началось все с того, что молодой человек по имени Джонатан и с неблагозвучной для русского и английского человека фамилией Гей мечтал о том, чтобы стать архитектором. В то время, как он рисовал наброски зданий, он осознал, что у него мало шансов того, что его наброски когда-нибудь будут приведены в жизнь. И с того момента, как в его жизнь вошел Apple II, Джонатан начал заниматься программированием, и вскоре он понял, что написание программ дает тебе возможность что-то изобретать, создавать и в последствии ты можешь увидеть, как это все работает и взаимодействует с пользователем. Наконец-то его изобретательность стала принимать формы, хотя, его навыки в программировании на языке Basic на Apple II были куда хуже, чем его навыки в архитектуре.
Его первой настоящей программой написанной на языке Basic стала игра, которая представляла собой точную копию игры «Space Invaders». Вскоре после Basic’а он занялся написанием программ на языке Pascal, с помощью которого им был создан его первый графический редактор «SuperPaint», за который он получил награду на научной выставке в школе.
«Если вы когда-либо думали, что пользоваться Flash очень сложно, попробовали бы вы рисовать на Apple II с помощью джойстика до того, как была разработана концепция функции отмены (undo). Посмотрим, как вы будете спокойны.»
Джонатан Гей, создатель Flash
Джонатан Гей начал заниматься профессиональным программированием, пока еще учился в школе. Когда его Apple II был заменен Macintosh’ем, Джонатан и его отец стали посещать ранние встречи Macintosh Users Group, где его отец хвастался перед организатором о проекте Джонатана для научной выставки. Как позже выяснилось, организатором был Чарли Джексон, который планировал создать компанию по созданию ПО для Macintosh’ей и назвать ее Silicon Beach Software.
Хотя у Чарли не было достаточных средств для создания задуманного, он все же приобрел за 10000 долларов компьютер Lisa для того, чтобы Джонатан мог программировать на нем. Именно на этом компьютере Джонатан написал первую игру для Macintosh’ей «Airborne!», которая использовала цифровое звучание и гладкую для своего времени анимацию. Для своего времени игра очень хорошо продавалась.
От игр к рисованию
Когда началась работа над следующей игрой, для ее создания специально был нанят профессиональный актер, и позже в свет вышла игра под названием «Dark Castle». Эта игра стала очень большим хитом, и ее продажи оплатили обучение Джонатана в колледже. После игры «Dark Castle» появилась «Beyond Dark Castle». Создание игр стало важной частью образования Джонатана в области программирования, стимулирующей его в комбинировании анимации и цифрового звука и синхронизации этих элементов. А самое важное заключается в том, что для Джонатана стала первостепенной концепция быстрого ПО, взаимодействующего с пользователем.
«Dark Castle»
«Beyond Dark Castle»
После разработки «Beyond Dark Castle», Джонатан принялся за создание редактора «SuperPaint II», последователя его научного проекта, в котором он реализовал стиль рисования — PostScript. После того, как был закончен «SuperPaint II» и Джонатан закончил обучение в колледже, он пошел на постоянную работу в Silicon Beach Software, и начал разработку технологии для создания нового поколения ПО для работы с графикой. Она будет написана на C, и будет использовать объектно-ориентированный фрэймворк для упрощения процесса разработки и возможности использования, как на компьютерах Macintosh, так и на компьютерах под управлением Windows.
«SuperPaint II»
Эта технология породила программу под названием «Intellidraw», которая позволила Silicon Beach Software конкурировать с «Adobe Illustrator» и «Aldus Freehand», которая позже была приобретена компанией Macromedia, на рынке PostScript. Уникальность «Intellidraw» заключалась в том, что помимо возможности рисования изображений, она так же позволяла добавлять к нарисованным изображениям действия, так что кроме возможности создания линий, которые бы соединялись с каким-либо объектом и другими линиями, вы могли добавить, например, гистограмму, которая могла изменяться при введении пользователем чисел в текстовый объект. В последствии выяснилось, что «Intellidraw» была не первой программой, которая позволяла это делать, и существовал редактор изображений «SketchPad», но люди очень быстро забыли о нем. Компания Visio смогла реализовать эту идею в своем продукте, который оказался очень успешным, в то время как «Intellidraw» не вызвала должного уважения у пользователей. Когда стало понятно, что «Intellidraw» обречена, Джонатан решил, что пора начинать действовать иначе. За время работы при неполной занятости он заработал столько же денег, сколько и при работе над «Intellidraw», поэтому он принял решение попытаться создать более удачный продукт и сделать так, чтобы удача досталась ему, поэтому он основал свою собственную компанию.
В это время в технологии персональных компьютеров последним «писком» были перьевые компьютеры, которые представляли собой экран, на котором можно было рисовать электронным пером. Компания GO занималась разработкой операционной системы для нового поколения портативных компьютеров, которые могли бы использовать эту технологию. Компьютеры могли бы стать меньше, и пользователи могли фактически брать их с собой куда угодно. Это была очень привлекательная идея, и на примере Silicon Beach Software было прекрасно видно, какой новая операционная система предоставляла шанс для создания новых софтверных компаний.
С помощью инвестиций Чарли Джексона в январе 1993 года была создана компания FutureWave Software, целью которой было доминирование на рынке графического ПО для перьевых компьютеров.
На тот момент было ясно, что для пользователей было достаточно трудно научиться сложным возможностям программы, поэтому настоящим испытанием было создание сложного продукта, который был бы легок в использовании. Рисование на компьютере происходило явно медленнее и менее удобно, чем на рисование ручкой на бумаге. И хотя мышью от Apple была явным прорывом по сравнению с джойстиком, рисование пером на экране компьютера было куда проще. С помощью Роберта Татсуми, Джонатан принялся разрабатывать программу, которая позволила бы рисовать на компьютере с той же легкостью, что и на бумаге.
Изменения в планах
Компания GO, как оказалось, лучше тратила деньги, чем их зарабатывала и позже была приобретена компанией AT&T, которая вскоре, в январе 1994 года, прикрыла GO и оставила FutureWave Software без рынка. Единственным выходом было взять программу и переписать ее под использование на Macintosh и под Windows. В этот момент «SmartSketch» вышла на рынок в качестве продукта для более удобного рисования на компьютере и даже немного преуспела на рынке, где доминировали «Illustrator» и «Freehand».
В середине лета 1995 года FutureWave Software получила очень много писем от потребителей, в которых они говорили о том, что им следует преобразовать «SmartSketch» в продукт для анимации. Компания FutureWave Software сильно заинтересовалась в создании ПО для анимации, но на тот момент единственными способами распространения анимации были VHS и CD ROM, и рынок программных продуктов для производства анимации был очень узок.
Как раз в это время, новое понятие, которое называлось Интернет, так же как и Всемирная Паутина, дебютировало перед публикой. В теории, казалось вероятным, что сеть станет настолько популярной, что пользователи захотят отправлять и просматривать графику или анимацию, создавая тем площадку для FutureWave Software для создания полезного продукта для двумерной компьютерной анимации.
С такими мыслями началась работа над добавлением функций по созданию анимации в «SmartSketch» и созданию интерпретатора для сети на языке Java, который поначалу был очень медленным, для визуализации анимации. FutureWave Software продолжала разработку, а осенью вышел браузер Netscape с API для подключения плагинов, который предоставил возможность для создания плагина с достойной производительностью.
«SmartSketch»
Разговоры о продаже «SmartSketch» начались задолго до того, как стало ясно, что программа не имеет отличительной торговой марки, и должна в меньшей степени фокусировать внимание на рисовании, и в большей на анимации. Поэтому программа была переименована в «CelAnimation». Из-за боязни того, что на программу повесят ярлык – «для создания мультипликации», ее снова переименовали, и теперь она называлась — «FutureSplash Animator».
«FutureSplash Animator»
Почти что под крылом Adobe
Работа над «FutureSplash Animator» продолжалась, но компания начала беспокоиться о том, что они слишком малы для создания того уровня популярности, которого они добивались, поэтому в октябре 1995 года они попытались продать технологию Джону Варноку из Adobe.
И Хотя он и был заинтересован в программе для создания иллюстраций «SmartSketch», но очень медленная работа анимации «FutureSplash Animator» на Java не впечатляла, поэтому Adobe отказалась от сделки. В декабре 1995 года компанию почти купила Fractal Design, но их тоже больше интересовал «SmartSketch», и отказывались от «FutureSplash Animator».
Летом 1996 года «FutureSplash Animator» был выпущен, и публика начала проявлять к ней интерес. Самый большой успех FutureWave Software был в августе 1996 года, когда Microsoft работала над созданием сетевой версии MSN, и они хотели создать нечто наиболее похожее на телевидение в сети Интернет; решением был «FutureSplash Animator». Другим удачным клиентом для FutureWave Software была компания Disney Online. Они воспользовались возможностями «FutureSplash Animator» для создания анимации и интерфейса для их сервиса по подписке – Disney’s Daily Blast.
В ноябре 1996 года компания Macromedia начала вести переговоры с FutureWave Software на предмет совместной работы. Ввиду того, что FutureWave Software существовала в течении 4-х лет с инвестициями на общую сумму в 500000 долларов, они приняли предложение, и в декабре 1996 года Macromedia приобрела компанию, и «FutureSplash Animator» превратился в Macromedia Flash 1.0.
«Идея использования богатых ресурсов известной компании для распространения «FutureSplash Animator» показалась нам очень интересной.»
Джонатан Гей, создатель Flash
История выхода версий Flash
В 1997 году вышла версия Macromedia Flash 2, в которой появилась поддержка стерео звука, улучшенная интеграция растровых изображений, кнопок, библиотека компонентов и способность покадрового изменения цветов.
«Macromedia Flash 2»
В 1998 году в Macromedia Flash 3 вошли такие изменения: улучшения по части анимации, проигрывания и публикации, а так же появился примитивный язык скриптов для добавления интерактивности. Так же в этом году Macromedia продала свой 100000-ый экземпляр Flash.
«Macromedia Flash 3»
В 1999 году было достигнуто 100 миллионов установок проигрывателя Flash, частично благодаря тому, что он был включен в поставку Microsoft Internet Explorer 5. В Macromedia Flash 4 появилась возможность потоков MP3 и анимации движения. Изначально плагин для Flash не поставлялся ни с одним браузером, и пользователям приходилось посещать сайт Macromedia для его загрузки и установки, но в 2000 году Flash Player уже поставлялся со всеми браузерами AOL, Netscape и Microsoft Internet Explorer. Спустя 2 года он уже поставлялся встроенным во все версии Microsoft Windows XP. Уровень охвата Flash Player’а составил 92% от всех пользователей сети Интернет.
«Macromedia Flash 4»
В 2000 году с выходом Macromedia Flash 5 многое изменилось, т.к. в игру вступил ActionScript — объектно-ориентированный язык программирования, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений, а так же появилась возможность изменения интерфейса среды разработки.
«Macromedia Flash 5»
Проект Macromedia Generator стал первой попыткой компании отделить дизайн от содержимого во Flash. Он был выпущен в апреле 2000 года, и в своей корпоративной версии предоставлял возможность создания Flash на стороне сервера. Проект был закрыт в 2002 году для того, чтобы дать развиться другим технологиям, таким как Flash Remoting, которая давала возможность сглаженной передаче данных между сервером и клиентом, а так же сервером ColdFusion.
В октябре 2000 года гуру дизайна Якоб Нильсен написал спорную статью о простоте использования Flash, которая называлась — «Flash на 99% плох». Позже компания Macromedia наняла Якоба для упрощения использования среды разработки.
В сентябре 2001 года опрос, проведенный Media Metrix для Macromedia, показал, что 7 из 10 сайтов в США используют Flash содержимое.
15 марта 2002 года Macromedia объявила о выходе 6-ой версии Flash Player и Macromedia Flash MX, которые поддерживали видео, компоненты для приложения, библиотеки и были легки в эксплуатации. Так же в 2002 году был выпущен Flash Communication Server MX, который позволял осуществлять потоковую трансляцию видео в Flash Player 6. Иным способом предоставления являлось встраивание видео во Flash-ролики.
Компания Macromedia в 2005 году представляет Flash 8, который по ее словам носит самые существенные изменения со времен выхода 5-ой версии Flash. Среди новых возможностей можно отметить такие, как: фильтры, сглаживания, кэширование растровых изображений, новый видео кодек On2 VP6, улучшенный механизм визуализации для шрифтов – FlashType, эмулятор для мобильных устройств, а также несколько улучшений касательно ActionScript 2.0, например, класс BitmapData, класс ConvolutionFilter, класс DisplacementMapFilter, и несколько классов для работы с геометрией. Так же в 2005 году был выпущен Flash Lite 2.0, который был сходен по своим возможностям с Flash Player 7.
«Macromedia Flash 8»
Под крылом Adobe
3 декабря 2005 года компания Adobe Systems приобрела Macromedia и все ее разработки, включая Flash. Сумма сделки составила примерно 3.4 млрд. долларов США.
В 2006 году вышел Flash Player 9 для Mac OS и Windows. Первый раз за все время Flash Player вышел без обычно совместного выхода среды разработки. Совместно с Flash Player 9, также появился в свет Flex 2.0, а Flash 9 продолжает распространяться без среды разработки до 2007 года. В первые за все время существования технологии у интерпретатора Flash Player появилась возможность широко распространиться задолго до того, как появится среда разработки для него.
В январе 2007 года выходит в свет версия Flash Player 9 для Linux. Flash CS3, переделанный из Flash 8, с некоторыми обновлениями, в основном заключающимися в интеграции с другими продуктами от Adobe, появляется в качестве одного из продуктов набора Adobe Creative Suite CS3. Новая версия так же включает в себя ActionScript 3.0 и новый механизм работы с XML. В конце января 2007 года Adobe Systems также представила революционную технологию под названием Apollo (теперь AIR – Adobe Integrated Runtime). Эта технология позволяет переносить интерактивные приложения для сети Интернет из браузера на рабочий стол, т.е. разработчики получили возможность использовать привычные для них инструменты – Flash/Flex, HTML, Ajax для создания обычных приложений. На данный момент доступны бета версии Adobe AIR для Windows XP SP2 и Windows Vista, а также для Mac OS версий 10.4.8 и 10.4.9. Версию для Linux компания Adobe планирует выпустить только совместно с выпуском первой версии технологии. В начале июня 2007 года Adobe также представила бета версию среды разработки Flex 3.0, под кодовым названием – Moxie, которая несет в себе некоторые исправления ошибок, встроенную поддержку Adobe AIR, улучшение скорости работы компилятора и многие другие изменения…
«Adobe Flash CS3»
Заключение
В 2001 году 50 людей занималось разработкой Flash, вместо 3-х; столько работало во FutureWave Software, когда компания появилась на свет. С тех пор Flash эволюционировал из простого ПО для создания сетевой анимации и сетевой иллюстрации в среду разработки мультимедиа. Flash стал синонимом для описания анимации в сети Интернет. Flash Player на данный момент является самым распространенным ПО на планете; он серьезно опережает Internet Explorer, Windows, Firefox и другое ПО по количеству компьютеров, на которых он установлен…
Читайте также: