Silverlight vs Flash vs HTML5,我应该关心吗?

时间:2010-10-30 15:57:01

标签: silverlight flash html5 rich-internet-application

我在与Flash的比较中阅读了一系列有关Microsoft Silverlight框架优缺点的文章。

事实上,在过去18个月中有两个版本的Silverlight让我担心,以及超过97%的网络浏览器已经预先安装了Flash。

我是一名.NET开发人员,我对我在框架中可以做的事情非常满意。目前我觉得我必须把自己的偏好放在一边,然后决定是否需要用.NET集成flash而不是将Silverlight与WPF结合使用。

有没有人尝试将Flash与.NET集成?你遇到了什么挑战? comparisson在Silverlight中工作有多容易?

我还读到了微软和Adobe最近的谈话。无论我走的路都感觉很不稳定。 HTML 5能否真正与Flash和Silverlight提供的产品竞争?

谢谢

6 个答案:

答案 0 :(得分:10)

我已将Flash和Silverlight集成到我的ASP.Net应用程序中。我不得不说,与Silverlight合作是迄今为止更容易的方法。与服务器的通信更容易,初始设置更容易(与ASP.Net应用程序或简单的HTML页面一起)。集成到ASP.Net应用程序是最简单的部分(因为我相信你会想到它)。如果您是.Net开发人员,那么这就是您的选择。

此外,我不担心这些技术中的任何一种很快就会消失。 HTML5不会接管。这需要一些市场份额,而不是全部。

修改

以下是有关该主题的其他SO帖子的一些链接:

答案 1 :(得分:7)

这基本上就是我选择网络技术的方式:

  • 您是否需要支持现在,过去和未来制作的所有可用平台? HTML4 (是的,4!)
  • 您是否必须制作HTML4无法实现的功能,并准备牺牲一些用户群?的 HTML5
  • 您可以限制自己使用桌面用户(没有移动设备)并且需要一个非常互动的应用程序(比“网站”更多)? Flash或Silverlight
  • 您需要与.NET集成吗?的 Silverlight的
  • 你熟悉.NET(比Flash更熟悉)吗?的 Silverlight的
  • 您想达到绝对最大用户数吗?的闪存
  • 你知道Flash / ActionScript(比.NET更多)吗?的闪存
  • 您是否需要比Silverlight提供的更多功能,是否可以限制部署到Intranet?的 WPF / XBAP

关于Silverlight死机的整个争论在我看来是完全有缺陷的:那些认为Silverlight完全是多平台的人实际上并没有与现实联系起来:仅仅通过观察Flash就可以从一开始就明白iOS&合。 永远不会支持Silverlight。

HTML5可能是真正的“通用多平台”环境(现在是什么HTML4),但是所有的噩梦我们都知道html。如果您的目标是桌面,需要更多的交互性,更好的工具,单元测试和合。那么Flash和Silverlight仍然是首选。

Silverlight的用户群很快接近Flash,因此在这两者之间,它真正归结为您更熟悉的那个以及与现有后端集成的简便性。

事实上,Silverlight每9个月就有一个新的主要版本,这只是他们推动它的程度的一个标志。现在它已经达到成熟阶段,你可以期待看到更大的间隔。

答案 2 :(得分:4)

坦率地说,如果你已经知道OOP,AS3并不难学。这将需要一个星期左右。如果您不喜欢Flash中的所有框架内容,则可以创建单个框架应用程序,然后管理自定义AS类中的所有内容。

我也是.NET开发人员,学习AS3.0并没有遇到任何麻烦。当然,一周不足以成为专家(成为任何领域的专家需要数年时间)。但是如果你只需要创建视频或mp3播放器,创建拖放基本游戏/应用程序以添加到ASP.NET页面,那么在AS3上花费20或30个小时是值得的。那里有很棒的视频培训。训练7到8个小时应该是我提到的20到30个小时。几年前我去了AS3.0而不是SL,因为每个人都安装了Flash插件。

AS3.0是键入的(简单类型,如Number,String等),但至少它是键入的。有许多函数,类和方法允许实现命中测试,拖放,事件监听(鼠标事件,键盘事件等)。非常酷和有趣的语言。

保重。

答案 3 :(得分:3)

微软最近宣布,Silverlight的“方向改变”更多emphasis on mobile rather than desktop

答案 4 :(得分:3)

HTML5包含SVG和Canvas以及视频。 完全有可能某个创意人员会创建一个非常好的动画包来生成SVG文件。当然已经有SVG生成器了,但显然它们还不够好,因为到目前为止,SVG和Flash从未在同一个句子中提及过。 但是应该是可能的。 SVG执行结构化矢量图形,嵌入式脚本。您在Flash中看到的内容必须在SVG中完成。 Flash也有这种可怕的框架概念,从第一天开始就是一个主要的设计缺陷。 他们应该让你确定你想要沿着由直线或曲线或徒手路径确定的路径将对象从A点移动到B,并且A和B的时间可以是任何东西,而不仅仅局限于特定的帧。 然后在播放时,计算机越快,帧速率就越好。计算机速度较慢,帧速率较慢。只要对象从A移动到B. 然后是Flash的错误和整体笨拙的处理。 Flash可以做得更好。 所以,我认为有人会很快制作一个令人惊叹的SVG动画包,只会粉碎Flash。

我反对Silverlight,因为它是微软。微软意味着专有。他们做任何他们想做的事。您已经提到了不同的版本号。这意味着您的客户必须下载正确的版本。在您展示动画和应用程序之前,您可以指望您的客户必须下载主要升级,并且在您知道它们的整个.net安装需要更新之前。 Silverlight在Linux上也不起作用。它应该通过Novell与Mono等的努力,但在实践中,在现场,它只是在你需要的地方不起作用。 我不知道Silverlight在Mac上是否以及如何运行,但我不相信它。

最后,我认为,未来的HTML5 / SVG(Canvas可能?)是最佳选择。它甚至可以使用OpenGL加速图形进行3D ...(但我不知道它是否足够便携)。 与此同时,Flash是您的安全赌注,它几乎可以保证在任何地方运行。

我想知道是否有人创建了一个动画包,输出到比Flash IDE更好的swf文件。鉴于Flash IDE的笨拙,不应该太难。

答案 5 :(得分:2)

Flex / Flash和SilverL。现在非常相似...使用webservice进行客户端/服务器通信,你可以很好地使用它们。

当然,对于使用Visual Studio的.NET开发人员来说,使用SilverL。更快,你只需要C#。

但是,Flash更适用于PC,也适用于移动设备......如果您需要便携性,可以考虑使用Flash。