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