Что такое Adobe Flex? Это просто Flash II? - PullRequest
82 голосов
/ 12 сентября 2008

Вопрос

Хорошо, меня смущают все модные слова и бинго из пресс-релиза.

  • Какая связь между flash и flex:
    • Заменить вспышку (не совсем совместимо)
    • Улучшенная вспышка
    • Следующая версия flash, но в основном совместимая
    • Отдельная технология в целом
    • ???
  • Если я начинаю во Flash сейчас, я должен просто перейти к Flex?

Последующие действия

Хорошо, я слышал, что в загадке есть три разные части:

  • Flash
    • Графический редактор, используемый для создания "Flash Movies", то есть это IDE, которая фокусируется на визуальном аспекте "Flash" (Официально Flash CS3?)
    • Официальное название плагинов для дисплея (например, "Загрузить Flash сейчас!")
    • Общая ссылка на весь технологический стек
    • С точки зрения редактора, это редактор на линейной временной шкале, лучше всего используемый для анимации со сложной интерактивностью.
  • Actionscript
    • Язык программирования "Flash"
  • Flex
    • Adobe Flash IDE, которая фокусируется на аспекте кодирования / программирования "Flash" (Flex Builder?)
    • Библиотека Flash, которая расширяет возможности Flash и облегчает программирование для (Flex SDK?)
    • Не привязан к временной шкале (как Flash IDE), поэтому «стандартные» приложения легче выполнять.

Это правильно?

-Adam

Ответы [ 22 ]

132 голосов
/ 16 сентября 2008

Термин 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 среду разработки, платформы и рабочие процессы следует выбирать в соответствии с требованиями и целями проекта.

34 голосов
/ 12 сентября 2008

Adobe Flex Builder - это интегрированная среда разработки Adobe для разработки приложений, которые будут работать в плагине Flash. Flex SDK относится к библиотекам, которые разработчики используют для написания приложений.

По сути, термин «Flex» - это сторона разработки, а «Flash» - сторона времени выполнения технологии Adobe.

Исправление: Термин «Flash» также используется для обозначения Flash IDE, которую используют дизайнеры.

11 голосов
/ 12 сентября 2008

Да, меня это тоже довольно долго смущало.

Похоже, Flex - это название среды IDE «Flex Builder» (на основе Eclipse) и общего подхода к созданию файлов флэш-памяти с использованием mxml и ActionScript вместо обычных инструментов флэш-памяти.

Я думаю, что подходы mxml и ActionScript (то есть Flex) разработаны для того, чтобы привлекать гораздо больше внимания программистов, в то время как Flash-сторона больше подходит для графических дизайнеров.

Конечным результатом любого из этих подходов является файл .swf, который можно запустить в плагине флеш-плеера браузера (хотя с помощью Flex вы можете вместо этого ориентироваться на среду выполнения Adobe Air, если вы хотите получить доступ к файловой системе, запускать автономно и т. Д.) .

Мой совет, если вы пришли из опыта программирования, начинать с Flex.

8 голосов
/ 16 сентября 2008

В чем разница между Flex и Flash?

То, как я держу это в уме и объясняю другим, таково:

Выберите правильный инструмент для того, что вы хотите создать.

Если вы хотите написать ПРИЛОЖЕНИЕ с использованием технологии Flash, используйте Flex.

Если вы хотите создать АНИМАЦИЮ с использованием технологии Flash, используйте традиционный Flash.

Flex оптимизирован для построения приложения (но вы можете создавать примитивную анимацию с использованием состояний) и компилируется в SWF.

Flash оптимизирован для создания анимации, но вы также можете создавать приложения с некоторой дополнительной работой, и он компилируется в SWF.

Когда у вас есть SWF, вы можете играть на своем Flash плеере, хотя Flex требует Flash 9 или выше.

В заключение

Применение -> Flex -> SWF

Анимация-> Вспышка -> SWF

Надеюсь, это поможет.

6 голосов
/ 12 сентября 2008

Часть путаницы заключается в том, что «Flash» означает несколько вещей. Flash может означать одно из множества приложений, ИЛИ общую технологию, лежащую в основе SWF.

Это продукт Flash CS3 , который продает Adobe. Как правило, это предназначено для дизайнеров и использует основанный на временной шкале подход к созданию SWF. Раньше продукт Flash был единственным способом создания SWF-файлов, а SWF-файлы обычно использовались только для анимации и других визуальных эффектов, которые невозможно в браузере иначе.

Тогда есть Flash Player . Это приложение / плагин, используемый для запуска SWF. SWF-файлы также могут быть помещены в «проектор», который позволяет им работать как отдельное приложение, но это не так часто.

В какой-то момент (я не знаю, когда) Flash начал использоваться для более интерактивных приложений. Продукт Flash не очень подходил для такой работы, так как был разработан для создания анимации. Признавая это, Macromedia создала Flex . Flex - еще одна среда разработки для создания SWF-файлов, но она больше ориентирована на разработчиков, чем на дизайнеров. Последняя версия Flex 3 . Flex SDK находится в свободном доступе и включает в себя компилятор командной строки, отладчик и библиотеки классов. Adobe также предоставляет (для покупки) приложение Flex Builder - интегрированную среду разработки на основе Eclipse для создания SWF-файлов с помощью Flex. Существует несколько бесплатных IDE для использования Flex, в частности FlashDevelop , хотя я не знаю ни одного, который бы предоставлял визуальный конструктор для MXML, язык разметки, используемый Flex для определения пользовательских интерфейсов, или визуальную оболочку для отладчик.

Если вы подходите к Flash с точки зрения разработчика, вам захочется использовать Flex. Это, вероятно, намного ближе к тому, с чем вы привыкли иметь дело, и, похоже, это направление, в котором Adobe продвигает Flash в целом.

3 голосов
/ 09 ноября 2008

Вот еще одно простое представление, основанное на описании приложения, которое вы хотите разработать.

Хотите ли вы, чтобы он имел очень детализированные возможности пользовательского интерфейса, которые вы ожидаете от приложения на рабочей станции (например, Windows), с довольно полным набором элементов управления (список, комбинированный список, сетка и т. Д.)?

Flex дает вам это.

Хотите ли вы, чтобы он работал в большинстве браузеров (т. Е. Везде, где установлена ​​/ устанавливается Flash)?

Flex дает вам это, потому что работает в виртуальной машине Flash.

Вы также хотите иметь возможность предлагать его для запуска в ОС, а не в браузере (с минимальными изменениями кодирования?)

Flex может дать вам это, позволяя запускать его не во Flash VM, а вместо этого в Adobe AIR VM (которая имеет версии для Windows, Mac и Linux), которая предоставляет оболочки для общих ресурсов ОС, таких как файловая система. , Компоненты пользовательского интерфейса диалогового окна ОС (например, «Открыть / Файл / и т. Д.»)

Вы в порядке, используя javascript в качестве языка разработки? Вы должны это сделать, потому что это единственный поддерживаемый язык в форме ActionScript, который является надлежащим расширенным набором javascript - он напрямую принимает код javascript.

Итак, разбиты на части:

  1. Среда выполнения, либо плагин Flash-браузера, либо среда выполнения AIR (эквивалент нативной ОС).

  2. Actionscript как язык разработки.

  3. Связка библиотек элементов управления и других ресурсов, то есть типичного окна, фрейма, комбинированного списка, списка, контейнера изображений, TextBox, TextArea, wysiwyg-y RichTextArea и т. Д.) Это область Flex.

Имея только перечисленные выше ресурсы, вы можете использовать бесплатный компилятор командной строки для создания приложений таким же образом, как и при использовании любого другого языка компилятора командной строки с библиотеками.

Тогда, если вам нужна модная IDE, есть Flex Builder, представляющий собой набор расширений для хорошего Eclipse (за несколько сотен долларов). Или есть несколько других IDE, которые более или менее эквивалентны.

3 голосов
/ 17 февраля 2010

Flex - это framework FlexBuilder - это IDE (в попытке разрешить путаницу между двумя, Adobe переименовывает FlexBuilder во FlashBuilder)

, если вы не знаете, что такое Framework :

Flex - это Flash, как CodeIgniter для PHP

или как .net.

Мне нравится думать о фреймворке как о расширении языка, как если бы вы расширяли класс в ООП.

3 голосов
/ 16 сентября 2008

Flash - это среда выполнения - вы используете инструмент Flash Authoring для создания некоторого содержимого Flash, а проигрыватель Flash обрабатывает ваш контент, выполняет сценарии и рисует соответствующие изображения на экран.

Flex - это Среда разработки - вы используете инструменты разработки Flex, чтобы определить, как должен работать контент на основе компонентов, а затем Flex генерирует для вас Flash-контент. Вы могли бы сделать то же самое с инструментами Flash Authoring, но использование Flex может позволить вам не изобретать некоторые колеса.

С функциональной точки зрения Flash - чрезвычайно универсальная среда выполнения; это дает вам большую свободу делать все, что вы хотите. Но если вы создаете симулятор ссуды, вам, вероятно, не нужна свобода, чтобы точно определить, как работают все выпадающие меню и переходы экрана. Возможно, вы бы предпочли, чтобы вы просто использовали готовые компоненты для этого, чтобы сосредоточиться на кредите. Flex позволяет вам делать это, и это может стоить много работы, если вы решите, что вам нужно много свободы, чтобы изменить все мелкие детали.

2 голосов
/ 09 ноября 2008

Flex - это среда разработки, которая компилирует XML и ActionScript в SWF, который работает на клиентском компьютере, обращающемся к веб-сайту. Он также может работать как настольное приложение с использованием Adobe AIR. Flash использует холст для рисования вместо xml. Скомпилированные SWF-файлы можно назвать Flash, что добавляет путаницы. Вы можете найти Flex похожим на ASP.NET, который принимает xml и c # (vb.net и т. Д.) И компилирует в dll. Конечно, ASP.NET работает на веб-сервере.

Если вы выбираете между приложением Flex и Flash, подумайте, будет ли приложение основано на данных. Если вы хотите сделать красивое приложение для работы с электронными таблицами, Flex может быть подходящим вариантом. Если вы создаете видеоигру или какую-то презентацию, вам, вероятно, понадобится Flash.

2 голосов
/ 22 апреля 2009

После этого я нашел очень полезную статью на эту тему:

Adobe Flash и Flex - что наиболее важно для вашего проекта?

Интегрированная разработка Flash Среда (IDE), иначе известная в его текущая версия, как Flash CS3, является идеальный инструмент для развития персонажа анимация или линейная анимация проекты. Это проекты, которые требует небольшого количества кодирования и может быть эффективно реализовано с помощью Flash Временная шкала IDE.

Другими словами, Flash CS4 очень тесно связан с временной шкалой - хорошо для линейных последовательностей или анимаций. Хотя можно добавлять циклы и интерактивность в форме переходов к новым точкам на временной шкале, это ограничивает проекты, которые не могут быть легко намечены с точки зрения прогрессирования во времени.

В упрощенном виде это инструмент анимации с очень мощными интерактивными функциями - создание и создание новых элементов на лету, а прыжки по временной шкале позволяют создавать приложения, а в среде Flash CS4 IDE это делается относительно легко, но это не очень хорошая платформа для прикладного программного обеспечения.

Flex был построен как ответ на это - хотя он использует те же элементы и предоставляет код, он не привязан к временной шкале и имеет больше общего с объектно-ориентированными языками программирования, чем с языками анимации.

Flex Builder IDE включает в себя как IDE программирования, так и графический дизайнер для быстрого создания интерфейсов, а также несколько других инструментов для разработки приложений, работающих на флэш-плеере.

...