Термин Flash может включать любые другие термины, определенные ниже, и я считаю, что выражение «Flash» без указания того, что вы имеете в виду, может вводить в заблуждение и вводить в заблуждение. Показательный пример: я не уверен, что вы конкретно имеете в виду, когда говорите «Flash» в своем вопросе. Это Flash Player? Авторский инструмент? Или целая коллекция технологий, которые подпадают под то, что Adobe называет «Flash Platform»? Чтобы прояснить все это, позвольте мне определить технологии, используемые для создания содержимого Flash и Flex, чтобы мы все использовали здесь одну и ту же терминологию:
Flash Player - среда выполнения мультимедийного содержимого в браузере. Существует также Flash Lite для запуска Flash-содержимого на старых или недорогих мобильных устройствах, а Adobe AIR расширяет Flash Player, позволяя авторам контента публиковать собственные настольные и мобильные приложения, которые могут интегрироваться с такими вещами, как файловая система, оконные системы и датчики устройств, такие как акселерометр и камера. В совокупности Adobe называет их Flash Runtime .
Flash Professional (часто называемый Flash Authoring Tool или Flash IDE ) традиционно был основным приложением, используемым для создания контента, работающего на Flash Player. , Он очень ориентирован на дизайнера с графиками, слоями и визуальными инструментами рисования. Разработчики программного обеспечения могут счесть это приложение дезориентирующим и ограниченным по сравнению с другими инструментами разработки, которые в большей степени ориентированы на код, такими как Flash Builder (см. Ниже). Когда кто-то говорит: «Я что-то создал с помощью Flash», они часто имеют в виду инструмент разработки Flash, но это не всегда так. По этой причине хорошо всегда уточнить, чтобы избежать путаницы.
ActionScript - основной язык программирования, поддерживаемый Adobe для целевого времени выполнения Flash. Текущая версия - ActionScript 3 (сокращенно AS3 ), которая поддерживается со времени Flash Player 9. Содержимое, созданное в более старых версиях ActionScript, все еще можно запускать в последних версиях Flash Player, но только новые функции поддерживается при использовании ActionScript 3 для создания нового содержимого.
Flex - это набор технологий, предназначенных для создания многофункциональных приложений, ориентированных на среды выполнения Adobe Flash. Хотя высказывание «Flex» ранее имело ту же неоднозначность, что и «Flash», торговая марка Flex все больше и больше фокусируется на инфраструктуре Flex и SDK, описанных ниже.
Flex SDK состоит из компиляторов, отладчика командной строки и инфраструктуры Flex. Включенные компиляторы:
1. MXMLC, компилятор ActionScript и MXML для вывода окончательного SWF-файла для развертывания во Flash Player.
2. COMPC, компилятор статической библиотеки для ActionScript, который выводит SWC-файлы.
3. ASDOC, генератор документации, построенный по технологии компилятора.
Flex Framework представляет собой набор классов ActionScript, предназначенных для создания многофункциональных интернет-приложений. Он включает в себя такие элементы, как элементы управления пользовательского интерфейса, веб-службы и другие классы подключения, средства форматирования и проверки, перетаскивание, модальное управление окнами и состояния компонентов. Эти классы находятся в пакете mx. *. Обычно, когда разработчики говорят «Flex» без какой-либо поясняющей информации, они имеют в виду среду Flex, а не продукт, ранее известный как Flex Builder.
В 2011 году Adobe передала Flex SDK в фонд Apache Software Foundation. Теперь он называется Apache Flex и полностью управляется сообществом, а не Adobe. Однако сотрудники Adobe продолжают вносить свой вклад в проект, а Flash Builder (см. Ниже) продолжает поддерживать новые SDK, выпущенные проектом Apache Flex.
MXML - это язык разметки на основе XML, используемый компиляторами Flex для упрощения компоновки и размещения компонентов в контейнерах. Древовидная структура XML упрощает визуализацию иерархии содержимого. MXML фактически преобразуется в ActionScript в процессе компиляции.
Flash Builder (ранее известный как Flex Builder ) - это среда разработки, которая позволяет разработчикам создавать проекты различных типов для создания SWF-файлов, которые развертываются во время выполнения Flash. Он построен на платформе Eclipse и более знаком для разработчиков программного обеспечения. Flash Builder поддерживает проекты, созданные с использованием Flex или чистого ActionScript. Проекты Flex включают в себя инфраструктуру Flex. Проекты ActionScript - самые основные, с которыми вы можете работать, начиная с одного класса и пустого холста, и среда Flex не включена.
Flash Builder не заменяет Flash Professional. Некоторые люди, которые традиционно использовали Flash Professional, теперь могут вместо этого использовать Flash Builder. Часто это инженеры-программисты, которые ценят или нуждаются в передовых инструментах разработки, предлагаемых Flash Builder, или не работают с активами, разработанными в визуальном инструменте. Некоторые разработчики могут писать свой код в Flash Builder, выбирая компиляцию своих проектов в инструменте разработки Flash. Часто эти разработчики также являются дизайнерами или работают с другими людьми, которые являются дизайнерами. В этой ситуации может быть много графических ресурсов, созданных в инструменте разработки Flash, и может быть трудно или просто нецелесообразно переносить их в другую среду.
Платформа Flex специально разработана для создания приложений. Он включает в себя множество традиционных элементов управления формой (кнопки, списки, сетки данных и т. Д.), И большая часть кода выполняется на расширенной платформе компонентов, написанной на ActionScript. Не каждый создает контент, предназначенный для создания Flex, и Flex не заменяет традиционную практику разработки Flash для всех. Это лучший подход для некоторых разработчиков, но может не подходить для других. Более насыщенные дизайном сайты, такие как созданные для фильмов, музыки, энергетических напитков, рекламных кампаний и тому подобного, вероятно, не должны использовать среду Flex. Эти типы содержимого могут лучше подходить для Flash Professional или проекта ActionScript в Flash Builder. Точно так же маленькие виджеты, которые вы помещаете на боковую панель своего сайта или в свой профиль на сайте социальной сети, возможно, должны быть созданы с использованием чистого ActionScript (без фреймворка Flex), поскольку они требуют меньшего размера файла и, вероятно, не требуют большая сложная компонентная архитектура, предназначенная для больших приложений. При нацеливании на среды выполнения Flash среду разработки, платформы и рабочие процессы следует выбирать в соответствии с требованиями и целями проекта.