Adobe Flex与Silverlight

时间:2009-06-14 08:27:15

标签: flex silverlight docking

这不是一个纯粹的技术问题,但我相信答案将有助于RIA社区。

我们是一家软件开发公司,致力于开发股票交易产品。我们选择使用Adobe Flex(2008年中),因为它的浏览器渗透率和相对成熟度与Silverlight相比。我们已经开发了这个系统,我们对它非常满意。

现在我们计划推出我们产品的第二个版本,我们正在计划非常先进的用户界面(如Windows对接框架(如Visual Studio 2005/2008)等)。我们在互联网上搜索,发现在Adobe Flex中,第三方组件的市场仍然非常小,但在Microsoft Silverlight中,有很多选项可用于高级第三方组件(如DataGrids,Docking Framework)。

任何人都可以通知我,我们何时应该期待Adobe Flex中的相同类型的组件,或者专家认为如果我们在Microsoft Silverlight中开发新版本(Adobe Flex和Silverlight的专业知识此时不是问题,并假设我们必须从头开发每一件事。

下一版本的推出预计将在2010年中期推出。

对此的任何反馈都非常感谢。

13 个答案:

答案 0 :(得分:12)

我可以从直接经验告诉您,Flex是一个更高效的平台。我为一家大型RIA咨询公司工作,该公司使用Flex和Silverlight构建大量应用程序,我们发现SL中的等效功能比Flex中的开发时间长约10-20%。 Flex中的数据绑定支持比SL中更容易使用。我还可以告诉您,经验丰富的Flex开发人员可以在Flex中轻松构建MDI工具包,并且需要几周的开发时间。因此,我建议您考虑聘请经验丰富的Flex开发人员,而不是为SL组件支付费用。

SL确实具有很大的优势,因为C#可以在客户端和服务器上使用,并且业务逻辑可以在两个层中重用。这很重要,不应打折扣。虽然Flex确实可以很好地使用许多不同的后端技术,特别是使用BlazeDS的Java,但ActionScript没有服务器端对应物并且缺乏这种能力。 Silverlight服务集成在.NET端有多种选择(参见下面的Bart的评论),而Flex可以在RPC和数据推送(消息传递)中使用性能非常高的AMF。 BlazeDS是免费和开源的。

我还认为,仅仅根据第三方组件的可用性来决定开发平台并不是一个好主意。抛开这一点,MS平台总是拥有大量的组件开发商店和各种各样的组件可供选择。即使市场份额较小,SL也可能拥有比Flex前进更多的第三方组件选择。

最后,我认为MS不会很快放弃Silverlight。他们正在积极开发SL4的新功能,Blend工具为设计人员/开发人员的互动提供了一些创新,甚至Adobe都在努力与他们的新Catalyst工具相匹配。

如果您今天必须做出决定,我会说使用Flex,尤其是面向公众的应用程序,因为他们不能或不会安装SL插件,因此您不想丢失用户。在12-18个月内,我有信心SL会为Flex带来更大的收益,但我认为它还不存在。

答案 1 :(得分:5)

虽然我不能给你想要的答案,但我希望我能给你一些好的问题和想法,可以帮助你完成这个过程:

City Coder: Flex 3 versus Silverlight 3 in Enterprise development

Microsoft Silverlight vs. Adobe AIR/Flex Debate

我个人认为,Adobe Flash将在不久的将来失去一个显着的用户群,即将推出的html 5.0标准中的新功能。此外,我更喜欢工具(Visual Studio),插件和语言(C#)而不是Adobe等价物,我会认为这些优越。但是我必须强调这只是从我的角度出发.. :))

答案 2 :(得分:2)

此线程中的一些人认为您无法使用Visual Studio开发基于Flex或Flash的项目。从2010年8月30日开始,这已不再适用。您可能希望查看Amethyst,这是一个VS可视(拖放)Flash Platform IDE,带有多进程调试器,IntelliSense和重构:http://www.sapphiresteel.com

祝福

答案 3 :(得分:1)

实际上我也是2之间的刺。事实上,我仍然认为Flash,但有点打击了,因为那更多的动画而不是RIA。使用Flex,theres AIR可以在桌面和Web上进行部署,我没有尝试过,也不知道使用起来有多简单。我也不确定Silverlight是否可以用作桌面应用程序?

比较Flex和Silverlight,我不认为我们只是根据现在更广泛使用的内容做出判断。 Silverlight可能还不错!

刚开始探索2并发现Silverlight的XAML标记比Flex mxml更直观。更进一步,Silverlight将与C#集成,而LINQ和所有这些都会越来越好。所以数据绑定,任何RIA的重要组成部分都是更好的。对于Flex,人们可能会使用像AMF这样的东西链接起来,但看起来比我看到的更难。那说我对两者都不熟悉。

更新:Flex现在是开源的,而Silverlight关闭了吗?因此Flex可以说使用起来更便宜。

答案 4 :(得分:1)

需要考虑的一件事是微软对Silverlight的奉献精神。 Silverlight没有起飞。他们要坚持多久?如果下一版本的Silverlight没有获得显着的市场渗透,微软是否会继续支持它?

即使他们坚持使用它,即使它确实起飞,他们是否会像使用Internet Explorer一样:将它开发成当时使用IE6的最棒的浏览器,然后滑行5 +年并成为开发商隐藏的主要刺?

Silverlight与Windows没有多大关系。使用Silverlight的人并没有给微软带来太多收益。 MS推出Silverlight没有特别引人注目的商业案例。

Silverlight不向Flash提供的任何内容提供任何内容。这是推动Silverlight采用的用户,直到有一个令人信服的案例让我在我的计算机上安装它(它不是偶然的),它仍然没有。

Flex是Flash的天然伴侣,Flash是Adobe的旗舰产品之一。 Adobe不会放弃Flex。即使他们这样做了,它也是完全开源的,即使Adobe明天陷入海洋,Flex开发也可以肯定地继续进行。 (不幸的是,Flash运行时不是开源的,但它是一个非常好的多平台实现,主要是开放的SWF标准,开源实现正在进行中)

我在.NET / Flash商店工作。我们使用Flex与.NET后端进行通信。让它们进行互操作可能是一种痛苦(虽然并非不可能)。我喜欢.NET。能够在C#中开发我们的前端会很棒。我会喜欢它。但考虑到MS的技术游行,我们不愿意在Silverlight上打赌这个农场。

答案 5 :(得分:1)

我们对未来RIA技术的决定中最重要的一点是RTL支持(特别是阿拉伯语)。我很失望听到Silverlight 3.0仍然不支持阿拉伯语(RTL),另一方面它现在支持Adobe Flex 4.我不想再应用我们用过的所有非标准技巧我们现有的应用程序版本(基于Flex 3)。所以现在一个问题在Flex中得到解决,但仍然保留在Silverlight中......并且仍然没有Flex中的对接框架,所以它会陷入僵局我猜... :)。 关于我们研究的任何新发现,我会及时向您通报......

答案 6 :(得分:1)

一个字(或两个) - > “开源” 世界正在开源。想想android与苹果

您将如何放心地在Linux平台上运行客户端应用程序。 现在我不是netflix客户,因为没有“月光”支持。

我家里有三台电脑都在运行Linux(不能用钱购买Windoze许可证)!

考虑目标市场(以及未来几年的目标市场)

答案 7 :(得分:0)

Flex与浏览器更兼容,因为它在Flash上​​运行。但是,需要下载Silverlight,这可能是代理或网络背后的用户的问题(例如,在工作场所,您无法安装东西)。 Flex还拥有比Silverlight更好的框架,因此您只需单击几下按钮即可自定义组件。

我同意你的观点,VS和C#比它们的Flex版本(分别是FB3和ActionScript)更成熟,但你会很快习惯它。

然后,我是Flex开发人员,而不是Silverlight开发人员,所以我的观点可能有些偏颇。但是,我确实选择了Flex over Silverlight,因为我认为它更兼容(几乎每个人都有Flash Player)并且比Silverlight有更好的支持,我不会后悔到目前为止的决定。

答案 8 :(得分:0)

如果是股票交易产品,它是否实时流动股票价格?如果是这样,流式传输数据的成本会有所不同。

它们都支持某种数据推送(RTMP vs. Socket)和智能轮询(RTMPT / RTMPS与HttpDuplexPollingChannel)。

  • 基础架构成本:Flex使用LCDS / BlazeDS,而Silverlight使用IIS。
  • 开发成本:当您需要为套接字定义自己的协议(您需要自己处理安全性和压缩)时,RTMP / RTMPT / RTMPS已经定义(并且无法更改)

从编程角度来看,Silverlight应该更好,因为XAML正在绘制接口,而C#更新了XAML组件的状态。有很多C#开发人员和Expression Studio来创建XAML组件。

MXML相对简单,您需要Flash来绘制精美的UI。但是,您可以等待支持FXG的Flex 4(测试版)。然后,它可能会更好地支持第三方组件。

答案 9 :(得分:0)

如果你对这两种产品都有专业知识很难说,从我这边有一个像Visual Studio这样的IDE是一个加号(我是.net开发人员),并在服务器(服务)和客户端使用相同的语言这让我觉得很舒服。

我会说......去寻找概念证明,花一个星期,制作两个团队(大约相同水平),并在一周内(没有任何正式测试或正式设计)检查Flex和SL(对于第三方,他们可以优先考虑所有试用版)。在那一周之后,检查已经走了多远和他们的发现。

浪费时间一周?尝试将焦点作为最终应用的实时线框。

祝你好运    布劳略

答案 10 :(得分:0)

我认为我不能推测Flex何时或是否会有类似数量的第三方组件。 Telerik和DevExpress等公司开发的许多Silverlight组件都是现有.NET组件的端口或更新。您可能希望对为其他Adobe产品开发组件的公司进行调查,并在他们的论坛上询问他们是否计划发布Flex产品。除此之外,我所要做的就是今天可用的东西,听起来你已经完成了对现有技术的研究。祝你好运!

答案 11 :(得分:0)

我在Flex方面做了一些工作,但更多.Net导向我不能说Flex在开发业务应用程序方面可以接近Silverlight。特别是RIA Services V2以及.Net框架和视觉工作室的所有套装,一切都是如此整合和专业。

我认为不使用Silverlight的唯一原因是,如果该产品具有公众受众,并且由于银光的渗透率较低而导致客户流失。

答案 12 :(得分:0)