Когда разработчик flash-приложений oldschool должен использовать flex? - PullRequest
10 голосов
/ 01 октября 2008

В чем основные различия между Flash и Flex? У меня более пяти лет опыта работы с Flash, и я чувствую себя очень комфортно, работая с ним и ActionScript3. Я все больше интересуюсь Flex и хочу знать, когда лучше всего использовать flash или flex. Кроме того, все, что можно сделать с MXML, можно сделать с AS3? Я хорошо разбираюсь в AS3 и ООП и хотел бы узнать разницу между использованием AS3 и MXML во Flex.

Ответы [ 7 ]

5 голосов
/ 02 октября 2008

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

Поместить actionScript в mxml - это то же самое, что положить css или javascript в html = очень плохо. К сожалению, даже у Adobe это есть в нескольких примерах (вероятно, в основном потому, что это проще и быстрее для демонстраций). Мое личное мнение таково, что это относится и к привязкам, поскольку я не хочу помещать свои данные в пользовательский интерфейс (mxml). 1003 *

Как опытный разработчик, я уверен, что вы не делаете никаких разработок на временной шкале (чтобы прояснить ошибочное представление о Flash = временной шкале). Тем не менее, во Flex пользовательский интерфейс разделен на структуру, которая в значительной степени справляется с компоновкой и позволяет сосредоточиться на бизнес-логике. Остальная часть рабочего процесса близка к тому, что вы, вероятно, уже имеете с Flash.

5 голосов
/ 01 октября 2008

Это зависит от того, какие приложения вы разрабатываете сейчас с помощью Flash. Я был разработчиком Flash (в основном приложений) в течение 7 лет. Я должен честно сказать, что я был чрезвычайно рад, когда Flex 2 был выпущен, потому что у него была структура компонентов (хорошие компоненты, менеджеры компоновки, ...), которых у меня не было во Flash. Это IMO самая большая разница между Flash и Flex (или инфраструктурой Flex).

MXML - это настоящее благословение, особенно при использовании привязки данных. В конце концов, все компилируется в ActionScript (отметьте опцию компилятора -keep), но MXML просто экономит вам столько времени.

2 голосов
/ 01 октября 2008

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

Нужно также иметь возможность написать приложение Flex только с AS3 и без необходимости MXML.

Основное различие между AS3 и MXML во Flex, насколько мне известно, заключается в том, что MXML не предназначен для использования с логикой приложения, а скорее предназначен для использования в качестве HTML / CSS на веб-страницах и размещения компонентов. и содержание в приложении Flex. ActionScript используется для программирования поведения, компонентов и других вещей вне или того, что делает MXML. Таким образом, если вы хотите прикрепить событие к компоненту, вы должны написать код ActionScript.

Надеюсь, это поможет. Я все еще изучаю Flex.

1 голос
/ 06 марта 2011

Я предпочитаю Flash IDE, а не Flex (иначе Flex Builder или Flash Builder за мой комментарий)

В общем, я бы сказал, что это зависит от размера проекта.

Мне легче быстро запускать и завершать небольшие проекты во Flash.

Я бы посоветовал Flex для более крупных проектов, потому что он имеет различные инструменты отладки, которые могут сэкономить вам много времени (хотя я все равно просто использую Flash самостоятельно)

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

некоторые минусы Flex из моего опыта.

  • При работе в команде из 4 человек на крупный проект, Flex не удалось сохранить проект
  • настроек с одного компьютера на другой. (мы поделились файлами с помощью SVN)
  • Flex постоянно конфликтует с SVN для нас.
  • Я чувствовал себя далеким от художественных активов.

некоторые плюсы Flex

  • возможность отслеживать ссылки на переменные из одного класса в другой одним нажатием кнопки.
  • возможность легко видеть много переменных во время отладки. без необходимости отслеживать их.
  • и Flash раньше не имел хинтинга Custom Class Code, но теперь с CS5 это делает.
  • Я думаю, что вы можете использовать новейшие функции Flash Player без ожидания нового Flash CS #, например, MoleHill (новый 3D API, использующий графический процессор) уже выпустила бета-версию. и я думаю, что Flex SDK уже может использовать его. надеюсь, это поможет.

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

1 голос
/ 30 октября 2008

Некоторые другие отличия, которые приходят на ум:

Flash позволяет создавать графические ресурсы и сразу же работать с ними. Чтобы использовать те же вещи во Flex, вам нужно использовать Flash, чтобы сначала экспортировать их в SWF или SWC.

Во Flex есть менеджер макетов, поэтому приложения, которые имеют переменный размер окна, проще в создании. Например, вы можете взять окно и установить его на 90% ширины окна, и оно изменит размер ... не масштабируется, но фактически меняет его ширину, когда окно становится больше или меньше. Это не легко за пределами Flex Framework.

Связывание данных во Flex - это экономия времени. По сути, он создает весь код, который вам нужно написать в AS3, просто сказав blah = "{foo}". Фигурные скобки обозначают "привязать к этому".

Flex Debugger значительно превосходит Flash. Также есть Profiler.

Поскольку я начинал с Flex, а не с Flash, я не уверен, какой IDE лучше всего подходит для Flash dev, но Flex Builder на основе Eclipse весьма неплох. Код намекает отлично. Интеграция с Subclipse великолепна.

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

0 голосов
/ 14 февраля 2012

Flash CSx:

  1. GUI \ Layout : Базовая структура класса GUI
  2. Графический контент : Отлично подходит для редактирования объектов графической библиотеки с анимацией или без нее
  3. Код : Отсутствует хороший редактор кода

Flex / Flash Builder + Flex Framework:

  1. GUI \ Layout : расширенная структура классов GUI и механизм компоновки (Flex)
  2. Графический контент : не хватает возможностей рисования Flash, но вы можете включить сгенерированные Flash изображения, экспортировав их для ActionScript в SWC и импортировав / ссылаясь на SWC в Flash Builder.
  3. Код : намного лучший редактор кода, чем Flash; не уверен, что это наравне с FlashDevelop
  4. Другое : Поддерживает MXML, который по сути является просто еще одним стилем размещения контента. Вместо написания связки «c = new C ()», «c.prop = x», «c.addChild» ... вы можете структурировать экранные объекты и их дочерние элементы, используя конструкции XML, и компилятор MXML преобразует его все обратно в менее читаемый, но в основном тот же код AS3.

Все эти технологии взаимосвязаны и совместимы. Это естественные и предсказуемые расширения Flash Player и технологий ActionScript, но по какой-то причине Adobe разработала технологии Flex / Flex-builder / MXML как совершенно отдельный продукт и представила их как нечто совершенно новое и ошеломляющее. Без разницы. Так что теперь мы должны идти вперед и назад между двумя, чтобы использовать все функции, что является LAME. Им также приходится тратить время и ресурсы на разработку ненужных, но полезных пакетов, таких как «Flex Component Kit», чтобы сократить количество шагов, необходимых для загрузки Flash-содержимого в Flash Builder.

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

Я думаю, что им нужна единственная, действительно интегрированная Flash IDE, поэтому им необходимо объединить Flash Builder с редактором Flash CSx.

0 голосов
/ 01 октября 2008

MXML компилируется в сценарий действия, поэтому он действительно похож на версию более высокого уровня. Так что да, все, что можно сделать с помощью MXML, можно сделать с помощью ActionScript (но не наоборот).

...