10

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

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

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

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

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

谢谢

4

6 回答 6

10

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

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

编辑

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

于 2010-10-30T16:30:23.793 回答
7

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

  • 您是否需要支持现在、过去和未来的所有可用平台?HTML4(是的,4!)
  • 您是否必须制作 HTML4 无法实现的东西,并准备牺牲一些用户群?HTML5
  • 您能否将自己限制在桌面用户(没有移动设备)并且需要一个非常互动的应用程序(比“网站”更重要)?闪光灯或银光
  • 您需要与 .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 个月就会推出一个新的主要版本,这表明他们正在大力推动它。现在它已达到成熟阶段,您可以期待看到更大的间隔。

于 2010-11-22T08:13:42.953 回答
4

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

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

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

小心。

于 2010-11-21T18:03:20.493 回答
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 的笨拙,应该不会太难。

于 2010-11-03T15:58:46.543 回答
3

微软最近宣布了与 Silverlight 的“方向改变”,更加强调移动而不是桌面

于 2010-11-03T15:44:09.533 回答
2

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

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

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

于 2010-11-02T13:20:19.063 回答