Flash против Flex - PullRequest
       6

Flash против Flex

40 голосов
/ 01 мая 2009

Я пытался везде искать краткий список преимуществ и недостатков использования Flex и Flash.

Исходя из опыта программирования, я очень люблю Flex. Его легко подобрать, и поскольку он может использовать классы flash, зачем мне использовать Flash без flex?

Flex:

Плюсы:

  • хорошо для разработки RIA
  • предоставляет множество опций пользовательского ввода из коробки
  • Встроенная планировочная система
  • MXML проще для непрограммистов
  • Вы можете быстро комбинировать компоненты для создания небольших приложений
  • компоненты могут обеспечить преимущество в крупных проектах благодаря их модульной природа.
  • может быть разработан с использованием Linux
  • имеет хороший жизненный цикл компонента для проверки и т. Д.

Минусы:

  • увеличивает размер вашего .swf
  • Настройка внешнего вида компонентов может занять гораздо больше времени, чем ожидалось, в зависимости от визуального стиля, который вы ищете
  • когда вы обнаружите, что вам нужен пользовательский компонент, который не существует, вам может потребоваться вернуться к Flash, чтобы выполнить реальную работу по программированию и упаковке компонента
  • «Гибкость» Flex означает, что вы будете читать много документации
  • Ошибки в каркасе Flex
  • В конечном итоге вам придется пойти на компромисс с архитектурой платформы Flex

Flash

Плюсы:

  • хорошо для создания фильмов / анимаций
  • Разработчикам / аниматорам может быть легче осознать временную шкалу
  • при работе с нуля обеспечивает большой контроль.
  • проще для тех, кто имеет опыт программирования
  • Вы можете программировать все что угодно; без компромиссов с существующими фреймворками

Минусы:

  • обеспечивает только базовый пользовательский ввод (текстовое поле) из коробки.
  • Временная шкала может быть сложной для программистов (хотя вы можете совершенно спокойно игнорировать ее)
  • Разработка определенных типов приложений будет медленнее, чем с Flex
  • не может быть разработан с использованием Linux
  • проверка ввода пользователя должна выполняться в коде. Нет встроенной проверки.
  • необходимо внедрить собственную систему раскладки

Пожалуйста, поправьте меня, если я пропустил все сказанное до сих пор.

Ответы [ 12 ]

17 голосов
/ 01 мая 2009

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

9 голосов
/ 02 мая 2009

С точки зрения программиста, большая разница между Flash и Flex заключается не столько в том, какую IDE / программу вы используете для программирования, сколько в том, программируете ли вы только в ActionScript (AS), или используете среду Flex и MXML для программирования своих приложений. .

Я бы сказал, что чистый ActionScript лучше подходит для программирования (неважно, используете ли вы Flash IDE или Flex IDE), а MXML лучше для непрограммистов объединять компоненты, запрограммированные в AS.

Я бы добавил в ваш список эти плюсы / минусы:

Flex:

Плюсы:

  • Легче непрограммистам заняться разработкой приложений
  • Вы можете быстро комбинировать компоненты для создания небольших приложений
  • Компоненты могут обеспечить преимущество в крупных проектах

Минусы:

  • Настройка внешнего вида компонентов может занять лот дольше, чем ожидалось, в зависимости от визуального стиля, который вы ищете
  • Когда вы обнаружите, что вам нужен пользовательский компонент, который не существует, вам, возможно, придется вернуться к Flash, чтобы выполнить реальную работу по программированию и упаковке компонента
  • «Гибкость» Flex означает, что вы будете читать лот документации
  • Ошибки в каркасе Flex
  • В конечном итоге вам придется пойти на компромисс с архитектурой платформы Flex

Flash (или Flex IDE в режиме проекта ActionScript):

Плюсы:

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

Минусы:

  • Временная шкала может быть сложной для программистов (хотя вы можете совершенно спокойно игнорировать ее)
  • Разработка определенных типов приложений будет медленнее, чем с Flex

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

8 голосов
/ 01 мая 2009

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

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

Делая это во флэш-памяти, вам приходится писать с нуля такие вещи, как списки ...

6 голосов
/ 06 мая 2009

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

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

Вот действительно хорошая презентация, объясняющая, как она работает:

http://tv.adobe.com/#vi+f15384v1002

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

Развиваясь в среде Flash или в чистом ActionScript, вы ничего этого не получите. Любой, кто разрабатывает приложения на чистом AS3, должен либо тщательно кодировать * очень , чтобы отделить бизнес-логику от рендеринга, либо сильно понизить производительность.

4 голосов
/ 01 мая 2009

[...] зачем мне использовать Flash без flex?

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

3 голосов
/ 01 мая 2009

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

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

Зачем использовать Flash? Ну, если вам нужно сделать что-то более конкретное, привязанное к временной шкале, конечно!

3 голосов
/ 01 мая 2009

Цель другая. Flex больше предназначен для программиста, а Flash более дружественен для художника / веб-дизайнера.

2 голосов
/ 06 мая 2009

Вы можете легко разрабатывать приложения Flex под Linux, но с Flash вы просто не можете.

2 голосов
/ 06 мая 2009

Мне нравится свобода Flash и очень просто встраивать ресурсы во Flash, что немного сложнее во Flex.

Одна вещь, которая мне нравится в flex - это возможность наносить жидкость с минимальными усилиями. Что будет длиться вечно во Flash.

Все, что вы можете делать во флексе, вы можете делать во флеше, просто это может занять гораздо больше времени. Вы не можете делать все в флекс, что вы можете сделать во флэш-памяти.

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

2 голосов
/ 01 мая 2009

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

Если, с другой стороны, вы работаете над совершенно нестандартным решением, таким как игра, то, возможно, Flash - это то, что вам нужно, потому что вы можете начать с чистого листа. Многие по-прежнему используют Flash, потому что им не нужны все навороты на основе приложений платформы Flex.

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