我是一名 WPF 开发人员,几天前我开始了解 Flex。现在,我得到了以下问题列表。
它们都用于创建丰富的 GUI 应用程序。所以,是
他们互相竞争。**如果两者都用于同一目的,那么应该首选哪一个。**
此外,我还想知道 WPF 是基于 DirectX 进行渲染的 它进行基于矢量的渲染,但同时我也很想知道 Flex 是如何呈现的,Flex 基于什么??**
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 应用程序都是所谓的“富互联网应用程序”。
后来 Adobe 创建了 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 框架不再是 Adobe 的属性(property)。大约两年前,Adobe 将它捐赠给了 Apache 基金会,此后它一直在那里发展。
关于c# - WPF 和 Flex 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20900900/