【问题标题】:Silverlight vs Flash vs HTML5, should I care?Silverlight vs Flash vs HTML5,我应该关心吗?
【发布时间】:2010-10-30 15:57:00
【问题描述】:

我阅读了一系列关于 Microsoft Silverlight 框架与 Flash 相比的优缺点的文章。

过去 18 个月里有两个版本的 Silverlight 让我担心,而且超过 97% 的网络浏览器已经预装了 Flash。

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

有人尝试将 Flash 与 .NET 集成吗?你遇到了哪些挑战?与在 Silverlight 中工作相比有多容易?

我还阅读了 Microsoft 和 Adob​​e 之间最近的会谈。无论我走哪条路都感觉很不稳定。 HTML 5 真的能与 Flash 和 Silverlight 提供的产品竞争吗?

谢谢

【问题讨论】:

    标签: silverlight flash html rich-internet-application


    【解决方案1】:

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

    另外,我不会担心这些技术很快就会消失。 HTML5 不会接管。它会占据部分市场份额,而不是全部。

    编辑

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

    【讨论】:

    • 我已经开始研究一个 XBAP (ClickOnce) 应用程序。你有没有使用这种类型的解决方案写过任何东西?我喜欢这样的想法,即应用程序可以访问完整的 .NET 框架,而不是使用 Silverlight 的 .NET 子集。但是在客户端机器上安装整个 .NET 框架的想法真的让我望而却步。这超出了我想要实现的全部目的。
    • 嗨,我只是在等着看看是否有其他人遇到过同样的决策问题。
    • 我添加了一些指向其他问题的链接,这些问题已在 StackOverflow.com 上发布到我的答案中。
    • 谢谢你。抱歉回复晚了 - 不在。
    【解决方案2】:

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

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

    在我看来,围绕 Silverlight 已死的整个争论是完全有缺陷的:那些认为 Silverlight 将完全是多平台的人真的与现实没有联系:只要看看 Flash,从一开始就很明显 iOS & co. 永远不会支持 Silverlight。

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

    Silverlight 的用户群正在迅速接近 Flash,因此在这两者之间,真正归结为您更了解的用户群以及与现有后端集成的难易程度。

    到目前为止,Silverlight 每隔 9 个月就会获得一个新的主要版本,这表明他们正在大力推动它。现在它已达到成熟阶段,您可以期待看到更大的间隔。

    【讨论】:

      【解决方案3】:

      坦率地说,如果您已经了解 OOP,那么学习 AS3 并不难。这将需要一周左右的时间。如果您不喜欢 Flash 中的所有框架内容,您可以创建一个单框架应用程序,然后从您的自定义 AS 类中管理所有内容。

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

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

      保重。

      【讨论】:

      • 感谢您激励学习 AS3,为此 +1 :)
      【解决方案4】:

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

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

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

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

      【讨论】:

      • 这里有一些非常基本的东西。任重而道远。网络上有很多这种类型的修补玩具,但似乎没有一个能把它带到足够近的地方。 svg-edit.googlecode.com/svn/branches/2.5.1/editor/…
      • 我同意您关于 Silverlight 频繁发布的观点。 HTML5 声称是一个标准,但我认为它不会成为一个标准,除非所有浏览器开发人员都完全遵守它。关于不信任微软,我认为每一家公司都是为了钱,而不是为了男人的利益,就像谷歌或苹果一样。我需要丰富的拖放功能,但我认为我不能用 HTML 来实现,会很笨拙。另外,您知道silverlight 应用程序是否可以轻松反编译吗?我担心最终用户可能会看到多少。谢谢!
      • @vikp - 标准基于实施。标准机构很少发明任何东西。因此,浏览器将在规范最终确定之前很久就实现 HTML5 功能。例如,CSS2.1 去年才最终确定,但我怀疑我们中的任何人当时才刚刚开始使用这些属性。
      【解决方案5】:

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

      【讨论】:

      • 感谢您的文章。这非常令人沮丧。 ClickOnce 应用程序是否也会发生同样的情况,我们如何确定:S 让我真正思考是否需要更详细地查看 ActionScript。
      • @vikp - 不,您需要更详细地查看 HTML5、SVG 和画布。您表达的挫败感与大约六年前我开始使用 .NET 进行 Web 开发时一样。那时我离开了微软的产品,从那以后就再也没有碰过它们,包括 Windows。
      • 如果 .NET 和 IE 9 将支持 HTML5,那么微软肯定会提供与 HTML 5 和 SVG 一起使用的开发工具吗?
      • @vikp - SVG 工具已经存在了很长时间。 HTML5 工具也已经存在了很长一段时间。为什么需要 Microsoft 来提供它们?他们没有那里的背景或经验。
      • 我在这些领域的知识显然不够。一旦我阅读了一些内容,我会回到这篇文章。谢谢你:)
      【解决方案6】:

      Flex/Flash 和 SilverL。现在非常相似...使用 web 服务进行客户端/服务器通信,您可以很好地使用两者。

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

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

      【讨论】:

      • 我不同意:唯一(部分)支持闪存的移动设备实际上是 Symbian 和 Android。 iOS:没有,黑莓:没有,WP7:没有。如果您想要可移植性,HTML4 是您的最佳选择。未来的 HTML5。如果您对 Win 和 MacOS 没问题,请在 Flash 和 Silverlight 之间进行选择。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 2013-10-19
      • 1970-01-01
      相关资源
      最近更新 更多