c# - WPF 和 Flex 之间的区别

标签 c# wpf apache-flex directx direct3d

我是一名 WPF 开发人员,几天前我开始了解 Flex。现在,我得到了以下问题列表。

  1. 它们都用于创建丰富的 GUI 应用程序。所以,是
    他们互相竞争。**

  2. 如果两者都用于同一目的,那么应该首选哪一个。**

  3. 此外,我还想知道 WPF 是基于 DirectX 进行渲染的 它进行基于矢量的渲染,但同时我也很想知道 Flex 是如何呈现的,Flex 基于什么??**

  4. Flex 是否也可以使用基于 GPU 的渲染...是否可以在 Flex 中使用 Shader。**

我对 Flex 很困惑,因为我对 Flex 很陌生......所以,请消除我的疑虑,因为我对 Flex 的看法可能完全不正确

最佳答案

1 Both of them to be used for creating rich GUI application. So, are they competitors to each other.

只是在一定程度上。据我所知,WPF 只能用于创建基于 Windows 的应用程序。 Flex 最初的主要目标是网络,大多数 Flex 应用程序都是所谓的“富互联网应用程序”。

后来 Adob​​e 创建了 AIR,这是一个虚拟机,可以让您在操作系统本身上运行相同的应用程序,通常是通过重用 99% 为网络应用程序编写的代码。添加了一些 API 以访问操作系统的 native 功能(客户端数据库、文件 I/O、运行/访问 native 进程等)。 AIR 应用程序可以部署在 Windows、Mac 和 Linux 上,但适用于 Linux 的 AIR 虚拟机的开发已经停止。

这个故事的最后一步是 AIR 应用程序现在也可以打包为可以部署在移动操作系统上的应用程序。再次因为它 在 VM 中运行,这提供了“一次编写,随处部署”的解决方案。支持 Android 和 iOS(不确定黑莓手机但谁在乎)。在 Flex 方面,框架中添加了一些特定于移动设备的 UI 组件。

2 If both are to be used for same purpose, then which one should be preferred.

选择完全取决于您,取决于对框架的了解、您可能有的特定要求等因素。

3 Moreover, I was also wondering that WPF is based on DirectX for rendering as it does vector-based rendering, but at the same time I am also keen to know that How Flex renders, Flex is based on what??

Flex 是一个可以编译为 ActionScript 的框架,ActionScript 又可以编译为 abc 字节码。该字节码将由 Flash VM 解释和运行。
Flash 的根源在于基于矢量的渲染(它是过去两年在 Web 上渲染矢量图形的解决方案)。因此,Flex UI 组件的所有库存图形都是基于矢量的。

4 Does Flex can also use GPU based rendering... Is there anyway to use Shader in Flex.

GPU 加速已在过去 5 年的某处添加到 Flash/ActionScript API 中,但由于 Flex 框架在此之前创建很久,将其移植到新的 GPU 加速系统过于复杂,因此 Flex 不从这种演变中受益。
但是您可以同时使用 Flex UI 和 GPU 加速组件。例如,您可以创建一个只有一个组件的普通 Flex 应用程序,该组件呈现 Flex 显示列表之外的 3D 模型。

通常只有为 Flash VM 编写的游戏才会利用 GPU 加速。他们中的大多数人使用 Starling框架。对于移动用户界面,您还可以选择 FeathersUI框架,它在 Starling 之上提供了一个 GPU 加速的移动组件集。


请注意,@Vinodharajan 的回答并不完全正确,因为 Flex 框架不再是 Adob​​e 的属性(property)。大约两年前,Adobe 将它捐赠给了 Apache 基金会,此后它一直在那里发展。

关于c# - WPF 和 Flex 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20900900/

相关文章:

wpf - 如何释放Image.Source来更新WPF中的图像?

c# - ComboBox 不选择 ViewModel 提供的任何项目

actionscript-3 - 在 TabNavigator 中隐藏选项卡的最佳方法是什么?

c# - 否定表达式

c# - SqlDependency 查询通知错误

c# - 面板控件中的对齐按钮

C# WPF MVVM TextBox 值不改变

css - 如何在 Flex CSS 文件中包含常量

apache-flex - Flex 限制 TextInput 只接受十进制数?

c# - 在 if 语句中使用 boolean 变量?