【问题标题】:Difference between WPF and FlexWPF 和 Flex 的区别
【发布时间】:2014-01-03 09:56:37
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: c# wpf apache-flex directx direct3d


    【解决方案1】:

    1 它们都用于创建丰富的 GUI 应用程序。那么,是 他们互相竞争。

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

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

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

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

    选择完全取决于您,并且取决于诸如框架知识、您可能拥有的特定要求等因素。

    3 另外,我还想知道WPF是基于DirectX进行渲染的,就像基于向量的渲染一样,但同时我也很想知道Flex是如何渲染的,Flex是基于什么的??

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

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

    GPU 加速已在过去 5 年的某个地方添加到 Flash/ActionScript API 中,但由于 Flex 框架早在此之前创建,并且将其移植到新的 GPU 加速系统会太复杂,因此 Flex 没有从这种演变中受益。
    但是您可以将 Flex UI 与 GPU 加速组件并排使用。例如,您可以创建一个普通的 Flex 应用程序,该应用程序只包含一个渲染 3D 模型的组件,该 3D 模型位于 Flex 显示列表之外。

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


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

    【讨论】:

      【解决方案2】:

      Flex 是 Adob​​e 基础前端产品。这在内部使用 Flash 在浏览器或 Adob​​e Air 上呈现其内容以用于独立应用程序。这可以使用硬件渲染。您可以将其视为 Adob​​e 的 WPF 替代品。

      【讨论】:

      • vinod 无论你说什么我都知道我已经想要更深入更清晰的理解
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-17
      • 2019-07-06
      • 2018-05-14
      • 1970-01-01
      相关资源
      最近更新 更多