哪个更轻?(CPU消耗,加载时间,执行速度等...)
它们具有可比性.Bubblemark有一个比较,试图对它们进行基准测试,但我会把它与一粒盐.事实上,你可以获得不错的表现.如果你开始盯着微基准测试,那么你将失去使用这种高级框架的重点.
它具有更丰富的功能(API-s,库等...)
这取决于你想要做什么.Silverlight有.Net库(不确定的确切子集)可能很好.但是ActionScript和Flash已经存在了很长时间,并且拥有一个庞大的社区,几乎可以提供任何你想要的库.我认为你很难找到一个人可以做的事情而另一个人却做不到的事情.我喜欢ActionScript,但我认为我更喜欢C#作为开发语言.
开发速度更快?
讨厌继续说"这取决于",但这是事实.如果您已经了解.Net和C#,那么您可能熟悉Microsoft工具包.Flash 10可以使用Flash CS4或Flex Builder(它是一个IDE)进行编程,因此,这取决于您是从工程或图形设计角度出发使用的.我认为MS将赢得开发工具之争,但Adobe将赢得与图形工具之争的整合.我不介意Flex Builder,它并没有让我失望,但是当我使用VS(C++)进行开发时,我对这种体验非常满意.
媒体处理(音频/视频流)怎么样?
youtube是Flash.与网上几乎任何其他主流音频/视频流媒体网站相同(少数例外).也就是说,一些新的Silverlight演示显示了令人难以置信的视频功能和控制.
我需要特殊的服务器/客户端软件来使用它们吗?
要通过浏览器提供内容,都需要插件.目前Flash普遍存在.如果您要购买当前安装的绝对数量,那么Flash是最佳选择.Adobe还允许您将Flash内容发布为跨平台桌面应用程序.这确实要求用户在其计算机上安装了Air运行时,但它允许您创建在Windows,OS X和Linux上运行的应用程序.
我触及的一件事非常重要的是社区规模.Flash社区更老,更大.这很重要,因为更容易找到做过类似于您尝试做的事情的人.教程,示例代码,博客,论坛,开源第三方库等的数量使学习ActionScript变得简单.
对我来说,决定归结为几个问题:
您是否已经了解C#/.Net和Microsoft开发工具链?
您当前安装的用户群的大小对您的决定有多重要?
您是否有兴趣开发跨平台桌面样式应用程序以及浏览器插件内容?
您是宁愿成为年轻平台的先驱者还是从旧平台中获得的经验中获益?