Flash与Silverlight的比较

4
我们正在建设一个培训网站,需要跟踪观看视频的观众并存储有关观看的详细信息(例如暂停时间、是否观看整个视频等)。
在决定使用哪种技术时,我们应该考虑哪些因素?
我忘了补充一点。这是为内部应用程序而设计的。我们完全控制环境。如果这是为公共应用程序而设计的话,我肯定会选择Flash。
我只是想从已经使用过两者的人那里了解各自的技术优势。

你打算使用哪种服务器端技术来记录RIA交互? - BigBlondeViking
17个回答

10

我想回答这个问题,因为似乎有些人错过了问题的重点:Flash与Silverlight在技术上的优势是什么?(就内部应用而言)

Flash 优势

  • 艺术化界面更好,我认为。如果你有习惯使用Illustrator或Photoshop的艺术家和设计师,这相当简单。
  • 他们环境中整合基于帧的电影时间轴非常流畅且已经使用多年。它使得将许多不同的动画元素和声音集成和叠加到电影或动画中变得非常容易。
  • 所有编码都是用类似JavaScript的语言ActionScript完成的,因此至少对于非微软开发人员来说,语法的学习曲线相当低。
  • 在线支持。有数年的帖子可以帮助你找出如何在Flash中获得所需内容。

Silverlight 优势

  • 它使用.Net作为后端。如果你有大量的.Net开发人员,你将能够利用.Net框架,它是一个更强大的工具集,从编程角度来看。
  • 更容易调试。根据我的经验,它比ActionScript更容易调试,这在很大程度上是由于IDE的优越性。
  • 关于IDE。编码IDE与Flash的笨重、拼凑在一起的文本编辑器相比,要好得多。它具有智能感应、自动完成等功能。

Flash 缺点

  • 根据我广泛的Flash经验,如果您正在制作高度交互式应用程序,它可能会非常错误。有些bug边缘荒谬,变通方法最多是hackish。
  • IDE糟糕。时期。它是带有一些差劲的智能感应-esque关键字识别的记事本。
  • 有时候语言会出问题。我曾经遇到过变量突然变得类型敏感的情况,而在两个段落之前它并不是这样。错是我的吗?也许。可能是我的问题。但无论如何,我曾经看到ActionScript表现出一些奇怪的行为,而C#总是按照我的意愿执行。
  • 没有真正标准的方法。没有“最佳实践把你的代码放在这里”的方法。Flash允许您将代码放在任何地方。一个帧、一个MovieClip、一个对象、一个数组......当然,只要在某些东西上弹出一些函数就可以了!这使得在别人的应用程序中查找错误变得非常繁琐。
  • Silverlight缺点

    • 根据我的观点,文档不多。
    • 与之相比,界面设计较差。如果你想要特定的外观,你的设计师可能会更难达到目的。
    • 如果你不习惯XAML,布局可能会很麻烦。如果你从未使用过XAML,并且你有一个时间表来完成这件事,最好准备投入一些额外的时间,或者接受不太出色的外观和感觉。通过XAML获得所需的外观不像在Flash中那么容易。

    再次声明,这些都是我个人的看法和经验。其他人可能有不同的意见。

    如果你有几个设计师和一些Flash经验,就选择Flash。如果你想学习一些新东西,补充履历,而且你只有.NET经验,那就用Silverlight吧。

    最终,做让你喜欢上工作的事情。(只要它能满足你的截止日期。笑)

    哦,我应该说明一下,我这里没有谈论FLEX,而是Flash。


    8

    最近,我在为一个非常复杂的交互组件选择Silverlight和Flash之间进行权衡,最终我选择了Flash。原因只有一个:在线支持。如果我在使用Flash构建过程中遇到问题,我很可能会在网上找到已经解决同样问题的人提供帮助。而由于Silverlight还很新,尚未完全从beta版本中发展出来,要找到相同数量的帮助是不太可能的(至少现在是这样)。最终,我的Flash应用程序非常复杂,我还有很多问题无法得到帮助,只能通过API挖掘和尝试一些方法。如果我选择Silverlight,我将会非常无助。

    但并不是说我不想尝试使用Silverlight,我非常渴望将我的Flash应用程序转换为Silverlight。只是我需要在线社区/论坛的存在。而这将会实现。我对Silverlight的未来充满期待。


    1
    这并没有真正概述询问者所询问的技术优势。 - Ben Lesh
    1
    OP问道:“我们应该考虑什么”,其中包括工具质量、人员和信息的可用性以及格式本身的质量。 - Martin Beckett

    6

    你的开发人员掌握哪些技能?如果他们已经掌握了ActionScript,那么请使用Flash;如果他们掌握C#、VB.NET、JavaScript、Ruby或Python,则应使用Silverlight。


    5

    如果您想要可维护性,那么Silverlight的编程API更加清晰。

    但是,它不仅没有在每个浏览器或客户端操作系统上安装,而且也不受所有浏览器或客户端操作系统的支持。

    如果可以的话,两者都可以使用,但是如果不能,就使用Flash,并在安装基数更大后进行转换,因为Silverlight在工程方面更容易。


    1
    我认为由于ActionScript 3大大改进了语言,这实际上是一个误解。即使AS3错过了一些更高级的C#语言功能,它仍然非常内部一致。 - Iain

    3

    我个人会选择Flash,因为它已经被广泛安装。我认为,如果YouTube和Google Video都在使用Flash,那么全球几乎所有的计算机都已经安装了它,所以它毫无疑问是最好的选择。


    1
    他明确表示他们完全控制着环境,因此这个答案是无关的。在公共网站上,情况有所不同,但在这种情况下并非如此。 - Ola Karlsson
    1
    不是你要找的答案。没有回答技术限制或好处。问题是针对内部应用程序,因此安装基数并不重要。此外,如果诺基亚在其Silverlight支持方面做得很好,安装基数将增加几百万。 - Brian Leahy
    1
    Netflix非常大,并使用Silverlight进行其流媒体服务。 - Raúl Roa

    3

    我还没有找到在Firefox中能正常播放的Silverlight视频。据我所知,也没有适用于Linux的查看器。

    此外,已经安装了Flash的用户更多,因此不需要安装其他应用程序来观看视频将吸引更多人观看视频。


    1
    Silverlight现在通过Novell的Moonlight项目得到了Linux的支持! - Goober

    3
    我发现这篇博客(不是我的!)在这个主题上非常有趣。就我个人而言,如果我正在为一个公司的windows网络构建内部应用程序,那么Silverlight似乎很棒。否则,选择Silverlight在公共网站上使用可能会排除整个世界。
    我支持竞争,但两者仍然是专有产品。虽然Flex3编译器和框架已经开源发布,但实际的Flash Player仍然是专有的。尽管如此,几乎每台联网电脑都安装了某种形式的Flash Player,尽管它可能不是Flex应用所需的版本9,但可以通过浏览器中的简单点击轻松升级。

    2
    请在此处查看更多信息:

    Silverlight vs Flex

    。这些信息与IT技术有关,涉及比较Silverlight和Flex。

    如果答案是直接相关的,请抄袭它,该网站的目的不是让您点击大量链接以获取答案。 - DevelopingChris
    我只是发布了一些额外信息供他们查看,为什么你要因此给我点踩呢? - Gulzar Nazim
    大多数情况下,这可以帮助避免重复。 - Gulzar Nazim
    Gulzar只是想帮助发帖人解决问题。ChanChan,你真可耻。 - jinsungy
    谢谢jinsungy。我猜很难理解人们在这里尝试做什么。 :) - Gulzar Nazim
    像“更多信息可以在这个相关问题中找到:…”这样的短语会听起来更友好。我认为这就是ChanChan所说的。 - Anheledir

    2

    你应该询问有多少人安装了Silverlight,我敢打赌他们会告诉你非常积极的事情。 - DevelopingChris
    我认为Adobe的研究是由一家受人尊敬的独立第三方进行的?无论如何,他们的统计数据与我们网站访问者的统计数据非常接近,所以我没有理由怀疑它们。 - davr
    它在我控制的网站上匹配,总共约有1200万独立访客。这是一个相当不错的样本集,可以证实它的准确性。 - Brent

    2

    并发查询的数量确实很重要。这也是奥林匹克网站决定选择Silverlight而不是Flash的基础,因为传送Flash视频需要更多的服务器资源。因此,Silverlight可能更加节省成本。


    微软为奥运会网站支付费用,以推广Silverlight技术,与服务器技术无关 - 可以类比于YouTube、BBC iPlayer等。 - Iain
    1
    “使用Windows Media Services,我们需要40台服务器来为10万个并发用户提供服务。而使用Flash Streaming,我们需要270台服务器才能满足同样数量的用户。” NOS新媒体负责人Roeland Stekelenburg说道。 - Anheledir
    除非他在世界上最大的公司工作,否则我认为这对他的内部应用程序不会有影响。你知道,如果你读了问题... - Ben Lesh

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接