Термин « Flash» может включать в себя любые другие термины, определенные ниже, и я считаю, что выражение «Flash» без точного определения того, что вы имеете в виду, может сбивать с толку и вводить в заблуждение. Показательный пример: я не уверен, что вы конкретно имеете в виду, когда говорите "Flash" в своем вопросе. Это Flash Player? Инструмент для создания? Или весь набор технологий, которые Adobe называет «Flash Platform»? Чтобы прояснить все это, позвольте мне определить технологии, участвующие в создании содержимого Flash и Flex, чтобы мы все использовали здесь одну и ту же терминологию:
Flash Player - это среда выполнения для мультимедийного содержимого в браузере. Существует также Flash Lite для запуска Flash-контента на старых или недорогих мобильных устройствах, а Adobe AIR расширяет Flash Player, позволяя авторам контента публиковать собственные настольные и мобильные приложения, которые могут интегрироваться с такими вещами, как файловая система, оконные системы и устройства. датчики вроде акселерометра и камеры. В совокупности Adobe называет их средами выполнения Flash .
Flash Professional (часто называемый инструментом разработки Flash или 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 представляет собой набор классов ActionScript , предназначенных для создания Rich Internet Applications. Он включает в себя такие вещи, как элементы управления пользовательского интерфейса, веб-службы и другие классы подключения, средства форматирования и проверки, перетаскивание, модальное оконное управление и состояния компонентов. Эти классы находятся в пакете 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 ваша среда разработки, фреймворки и рабочий процесс должны выбираться на основе требований и целей вашего проекта.