我是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应用程序是所谓的“ Rich Internet Applications”.
后来,Adobe创建了AIR,这是一台虚拟机,使您可以通过重复使用为Web应用程序编写的99%的代码,在OS本身上运行相同的应用程序.添加了一些API来访问操作系统的本机功能(客户端数据库,文件I / O,运行/访问本机进程等).尽管已经停止了针对Linux的AIR vm的开发,但AIR应用程序可以部署在Windows,Mac和Linux上.
这个故事的最后一步是,AIR应用程序现在也可以打包为可部署在移动OS上的应用程序.再次因为它
在VM中运行,这提供了“一次写入,到处部署”的解决方案.同时支持Android和iOS(不确定BlackBerry,但谁在乎).在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的根源在于基于矢量的渲染(这是前两个十年在网络上渲染矢量图形的解决方案).因此,Flex UI组件的所有库存图形都是基于矢量的.
4 Does Flex can also use GPU based rendering… Is there anyway to use Shader in Flex.
在过去的5年中,已将GPU加速添加到Flash / ActionScript API中,但是由于Flex框架是在此之前创建的很久,并且将其移植到新的GPU加速的系统中太复杂了,因此Flex不能从中受益演化.
但是,您可以将Flex UI与GPU加速的组件一起使用.例如,您可以使用一个组件创建一个普通的Flex应用程序,该组件可以渲染3D模型,而这种模型在Flex显示列表之外.
通常,只有为Flash VM编写的游戏才会利用GPU加速.他们大多数使用Starling框架.对于移动UI,您还可以选择FeathersUI框架,该框架在Starling顶部提供了GPU加速的移动组件集.
请注意,@ Vinodharajan的答案并不完全正确,因为Flex框架不再是Adobe的属性. Adobe大约在两年前将其捐赠给了Apache基金会,此后一直在发展.