Когда следует использовать flash-разработчик oldschool flex?

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

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

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

Также нужно написать приложение Flex только с AS3 и не нужно MXML.

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

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

Ответ 4

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

Flash позволяет создавать графические объекты и сразу же работать с ними. Чтобы использовать те же самые функции в Flex, вам нужно использовать Flash для экспорта в swf или swc в первую очередь.

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

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

Отладчик Flex значительно превосходит Flash. Существует также Профайлер.

Поскольку я начал работать с Flex, а не с Flash, я не уверен, какая IDE лучше всего подходит для Flash-разработчика, но Flex Builder на основе Eclipse довольно приятный. Сводка кода отличная. Интеграция подзаголовков велика.

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

Ответ 5

Я предпочитаю Flash IDE vs Flex (aka Flex Builder aka Flash Builder для моего комментария)

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

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

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

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

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

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

некоторые профи Flex >

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

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

Ответ 6

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

Ответ 7

Flash CSx:

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

Flex/Flash Builder + Flex Framework:

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

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

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

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