2014-01-03 3 views
3

Я разработчик WPF, и несколько дней назад я узнал о Flex. Теперь у меня есть список вопросов.Разница между WPF и Flex

  1. Оба они предназначены для создания богатого графического интерфейса. Итак,
    они конкуренты друг другу. **

  2. Если оба будут использоваться для той же цели, то какой из них следует отдать предпочтение. **

  3. Кроме того, я также интересно, что WPF основана на DirectX для рендеринга, как это делает вектор-рендеринг, но в то же время я также заинтересован знать , что как Flex делает, Flex основан на том, что ?? **

  4. ли Flex может также использовать рендеринг на основе GPU ... Есть ли способ использовать Shader в Flex. **

Я очень смущен о Flex, потому что я новичок в Flex ........ Так что, пожалуйста очистить мои сомнения, как я мог бы быть с совершенно неправильное представление о Flex

ответ

3

1 Оба они предназначены для создания богатого графического интерфейса. Итак, они конкуренты друг другу.

Только в определенной степени. Насколько я знаю, WPF может использоваться только для создания приложений на базе Windows. Первоначальная первичная цель Flex - это веб-интерфейс, и большинство приложений Flex были так называемыми «Rich Internet Applications».

Позже Adobe создана AIR, которая представляет собой виртуальную машину, которая позволяет запускать одни и те же приложения в самой ОС, часто путем повторного использования 99% кода, написанного для веб-приложений. Некоторые API были добавлены для доступа к родным функциям ОС (клиентская база данных, ввод/вывод файлов, запуск/доступ к собственным процессам и т. Д.). Приложения AIR могут быть развернуты в Windows, Mac и Linux, хотя разработка AIR vm для Linux была остановлена.

Последний шаг в этой истории состоит в том, что приложения AIR теперь могут быть также упакованы в приложениях, которые могут быть развернуты на мобильных ОС. Опять же, потому что t работает в виртуальной машине, это предлагает решение «однократно, развертывать-везде». Поддерживаются как Android, так и iOS (не уверен в BlackBerry, но кто заботится). С точки зрения Flex некоторые компоненты пользовательского интерфейса, специфичные для мобильных устройств, были добавлены в структуру.

2 Если обе они должны использоваться для одной цели, то какой из них должен быть предпочтительнее.

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

3 Кроме того, я также интересно, что WPF основан на DirectX для рендеринга, поскольку он выполняет рендеринг на основе векторов, но в то же время я также заинтересован в том, что, как Flex создает, Flex основан на том, что ??

Flex - это каркас, который компилируется в ActionScript, который, в свою очередь, компилируется в abc bytecode. Этот байт-код будет интерпретироваться и управляться Flash VM.
Корни Flash лежат в векторном рендеринге (это было решение для рендеринга векторной графики в Интернете за два предыдущих десятилетия). Таким образом, все графические элементы для компонентов Flex UI основаны на векторе.

4 Может ли Flex также использовать рендеринг на основе GPU ... Есть ли способ использовать Shader в Flex.

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

Обычно только игры, написанные для Flash VM, используют ускорение GPU. Большинство из них используют фреймворк Starling. Для мобильных пользовательских интерфейсов вы также имеете возможность использовать фреймворк FeathersUI, который обеспечивает мобильный компонент с ускорением GPU, установленный поверх Starling.


Обратите внимание, что @ ответ Vinodharajan является не совсем правильно в том, что каркас Flex больше не является собственностью Adobe. Adobe передала его в фонд Apache около двух лет назад, и с тех пор он развивается.

0

Flex является базовым интерфейсом Adobe. Это внутренне использует Flash для отображения своего содержимого в браузере или Adobe Air для автономного приложения. Это может использовать аппаратное рендеринг. Вы можете просто считать это альтернативой Adobe для WPF.

+0

vinod все, что вы сказали, я знаю, что уже хочу более глубокого и ясного понимания –

Смежные вопросы