2009-05-01 6 views
40

Я пробовал искать везде для краткого списка преимуществ и недостатков использования Flex vs. Flash.Flash versus Flex

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

Flex:

Плюсы:

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

Cons:

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

флэш

Pros:

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

Минусы:

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

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

ответ

17

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

+7

Это немного яблок для сравнения апельсинов имхо. В Flex вы не можете создавать (временные) фильмы и анимации вообще. Но и Flex, и Flash позволяют разрабатывать приложения. –

3

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

+0

Исключительно верно, но приложения GOOD Flex сосредоточены как в сильном дизайне, так и в разработке - так же, как и приложения Flash IDE. –

3

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

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

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

4

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

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

+2

Flex был продуктом macromedia и существует уже давно. У них просто было смешное «предприятие», которое сделало его невидимым для реальных людей. Попытка сделать взаимодействие на временной шкале во Flash спросит о нищете, дизайнере или нет. –

8

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

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

Doing, что вспышка, вы в конечном итоге приходится писать с нуля такие вещи, как список коробок ...

+1

На самом деле у вас есть почти равный набор компонентов, доступных во Flash. Но вы должны запрограммировать код ActionScript, а не скрипт в xml. –

+0

@ Niko, в Flex есть несколько компонентов, которые не во Flash (по крайней мере CS3, я не испортил CS4). Например: Canvas, HBox, ApplicatoinControlBar, Alert, RichTextEditor, Panel, Form и т. Д. И т. Д. –

2

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

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

+0

RIA-приложения, банкоматы, скорость APR ..: P – Anthony

0

Flash и Flex - это две совершенно разные вещи, одна из которых - это инструмент проектирования с поддержкой сценария действия, другой - это фреймворк, который также имеет скрипт действия, но почерпнутый вокруг MXML, который является определением пользовательского интерфейса на основе XML «Язык ».

+2

На самом деле он не построен вокруг MXML, MXML действительно построен вокруг AS ... всякий раз, когда приложение скомпилировано, все MXML преобразуются в AS-код. –

+1

Процент MXML в AS в моих связанных фреймах приложениях, вероятно, 25/75 mxml/как если бы не больше. Разметка просто существует как удобный способ компоновки контейнеров. Все остальное живет за пределами взгляда. –

9

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

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

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

Flex:

Плюсы:

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

Минусы:

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

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

Плюсы:

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

Минусы:

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

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

+0

Относительно: «вернитесь к Flash, чтобы выполнить реальное программирование». Если вы делаете, я не уверен, что он даже работал бы в рамках Flex? –

+1

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

2

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

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

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

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

6

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

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

Вот очень хорошая презентация, объясняя, как это работает:

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

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

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

2

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

+0

Нет причин, по которым вам нужно использовать фреймворк Flex с Linux. Он будет скомпилировать прямую вспышку без рамки связи просто отлично. –

1

Другим решением, которое не было предложено здесь, будет использовать их оба. Вы можете добавить гибкие компоненты для флеш-роликов, используя ContainerMovieClip. И вы можете добавить флеш-ролики для гибких компонентов, используя SpriteVisualElement. Еще одна вещь, о которой не упоминалось, - это прокладка приложения. Это будет гибким профи в сравнении с недостатком флэш-памяти, потому что вы получили встроенную гибкую систему. Но опять же, когда вы используете их оба, вы можете компоновать свои клипы с помощью гибкой планировочной системы.

Также flex станет Apache top-level project. И теперь он становится все более и более открытым сообществом.