【问题标题】:Silverlight; the good, the bad or the ugly?银光;好的、坏的还是丑陋的?
【发布时间】:2010-11-17 15:25:02
【问题描述】:

我最近开始了一个新项目,我们计划在 Silverlight 中创建它。我们确实希望将其开发为 RIA,并且基于以前使用其他 .Net 技术(如 WPF)的经验,Silverlight 感觉是正确的选择。

Silverlight 已经存在好几年了,随着第 3 版的发布,我认为 - 并且得到的印象 - 它确实已经成为一个稳定的平台,并且会存在很长一段时间。然而,我仍然看到人们抱怨 Silverlight——说这是一种不应该发布的糟糕技术。我的印象是,这些抱怨者通常对 Silverlight 没有任何实际经验。通常基于对 Microsoft 的普遍怀疑。和;我是从非 Windows 人那里得到的; “好吧,如果你正在创建它,那就是 Silverlight,让我无法使用它”,但我认为 Moonlight 会解决这个问题?..

所以;对 Silverlight 的怀疑是应得的,还是 Silverlight 已成为我们可以毫无畏惧地开发新项目的好平台?

【问题讨论】:

  • “Silverlight 已经存在好几年了” - 不,它还没有。 Silverlight 1 可以忽略,因为它没有 CLR。 Silverlight 2 在一年前发布。 Silverlight 3 是在 3 周前发布的,不到一年之后。一些控件甚至还没有分类稳定并在工具包中发布。最后,.Net RIA 服务甚至还没有发布。它尚未确定或成熟。
  • 但是您可以在没有 .Net RIA 服务的情况下制作 Silverlight 应用程序,对吗?因此,尚未发布并不能真正说明 Silverlight 的成熟度或稳定性 - 是吗?
  • 嗯,它是向 RIA 提供数据的假定途径,所以对我来说它很重要。我并不是说这是一种攻击,只是想警告您,Sivlerlight 并不是您上面介绍的成熟产品。 Visual Studio 甚至还不能正常工作,例如重构插件在 Xaml 代码中不起作用,Xaml 渲染器不断崩溃,编辑 Generic.xaml 经常导致 2 分钟挂起,等等。他们刚刚破坏了 VS 2010 beta 对它的支持。这是一项很棒的技术,但有时调试和使用它可能是一场噩梦。
  • 感谢您的警告.. 但我想我们可以说它正在成熟并且变得越来越稳定 - 尽管它还没有完全成熟..?

标签: .net silverlight


【解决方案1】:

silverlight 的问题在于穿透力。绝大多数用户已经安装了某种形式的 Flash (98%+),而只有一小部分用户会安装 Silverlight (大约 20% 即兴安装)。 编辑 http://riastats.com/http://www.statowl.com/custom_ria_market_penetration.php 现在 Silverlight 的渗透率约为 40-50%。其他消息来源称,在世界某些地区,尤其是英国,这一比例高达 60%。

问问自己:我的听众是什么?他们可能已经安装了 Silverlight 吗?我可以将它作为标准构建(企业)的一部分安装吗?如果他们看到“立即下载 silverlight!”在我的网站上弹出窗口,他们会下载 silverlight,还是会寻找与他们已有的应用程序兼容的竞争应用程序?

现在,从开发的角度来看,Silverlight 非常棒。

您为什么要使用它而不是替代品?如果您有共享组件,如果您正在重用来自另一个 .NET 应用程序的代码,如果您有内部 .NET 经验并且没有使用替代方案的经验。这些都是使用 Silverlight 的充分理由。

我怀疑它会继续存在,并且会随着时间的推移变得更加普遍。因此,权衡好与坏,这将告诉您 Silverlight 是否是您的正确选择。

【讨论】:

  • 我认为用户会安装 silverlight,而不是寻找使用其他东西的竞争对手。这只是一种懒惰的人性。当然,这完全取决于他们希望看到多少应用程序...... Flash 也没有太多用户支持而启动。很多用户甚至对那些速度慢、吸引眼球的 Flash 网站都有不好的回忆,但我们都看到 Flash 现在有多受欢迎。
  • 我很幸运能够“控制”我的用户。该应用程序不会公开提供,而是在大公司内部运行。如果他们必须在第一次使用之前下载 Silverlight,那应该不是问题 - 尽管我会牢记这一点并仔细检查。该应用程序是相当专业的,而不是那种有多个可供选择的应用程序,因此他们不能只找到一个类似的 Flash 实现并使用那个来代替。谢谢你的好答案!
  • 点头如果你的听众是内部的,你有能力在他们所有的机器上安装 Silverlight,你有其他的 .NET 位,你会集成或重用其中的位,并且您拥有丰富的 .NET 经验,这就是 Silverlight 真正闪耀的地方。
  • bambuska,这就是我的第一个 silverlight 应用程序获得开发批准的方式。在企业环境中,我们可以强制用户安装插件;这样做并没有给我带来任何问题。
  • 感谢 cmets JC 和 Iain。似乎我们正在避免没有到处安装 Silverlight 的大倒退 - 这可以让我们专注于好的方面 :-)
【解决方案2】:

AFAIK Moonlight 不具备 Silverlight 的所有功能,尤其是 v3 中的那些功能,因此依赖它作为 silverlight 克隆是一个糟糕的选择。如果您必须拥有通用访问权限,那么 Flash(无论您是讨厌它还是真的讨厌它)仍然是一个更好的选择。

我认为 Silverlight 是一个和 WPF 一样好的平台,但请记住 NBC 完全接受了它,并在其中实现了他们的流媒体视频平台,然后在花了很多钱和声誉之后dropped it

能否说服更多人安装它是另一回事,现在的重点是 HTML5 提供的花哨功能。将来,Flash 和 Silverlight 可能都会过时。

【讨论】:

  • 在我看来,NBC 放弃了它是因为更多的人安装了 Flash,而不是技术问题..?我们正在做一个内部项目,而不是公共项目。所以至少对于第一个大客户来说,它是一个全窗口环境。我假设/希望 Moonlight 能够在我们解决实际上不使用 Windows 的客户之前赶上 Silverlight 功能。
  • 我认为这很难判断 - 太多人想要/炒作 Silverlight,不管它是否好用!在newteevee.com/2008/08/10/… 的字里行间阅读会让你思考。坦白说。我会选择 HTML5 和 jQuery。
  • 我们不知道 NBC 为何放弃 SL。它也可能是出于政治动机。
  • 大声笑,你的意思是,Adobe 可能给了他们很多钱?好吧,至少微软一开始并没有这样做来让他们从 Flash 转移……当然。 :)
【解决方案3】:

您似乎对 Silverlight 的多平台支持存在误解。 Silverlight 在 Windows(IE 和 Firefox)和 OSX(Safari 和 Firefox)上得到正式支持。

Moonlight 只有 linux 需要,正如 Iain 所说,它落后于官方实施。

【讨论】:

  • 谢谢!这真的澄清了多平台支持!
【解决方案4】:

我在 Silverlight 中做了很多工作(主要是在 v2 中,所以其中一些可能在 v3 中没有实际意义),目前的问题是它作为一个平台还不够成熟。它仍然存在一些大错误,并且在许多领域都不完整(例如,在 v2 中,没有(简单的)方法可以在不定义自己的情况下创建多选列表框)。

除非您有真正高级的交互需求,否则我觉得它是一个相当重量级的 RIA 解决方案。即使是简单的页面也可能需要几秒钟才能加载。

这当然不可怕,在大多数时候(当你没有遇到错误时)开发实际上是相当不错的,但你必须能够证明负面的合理性,而不是与其他框架恕我直言.

【讨论】:

  • 你指的是什么错误?
【解决方案5】:

Linus Torvalds 最近在接受采访时说“对微软的仇恨是一种病”。总会有人准备好在每一个场合诋毁微软和微软的技术。 Silverlight 和 Flash/Flex 都是非常丰富且具有前瞻性的技术。在功能方面,Silverlight 目前比 Flex 稍稍领先,但在平台支持方面落后(Moonlight 不是 Silverlight,Microsoft 不支持)。

作为 .NET 开发人员,我对 Silverlight 有很大的偏见,如果必须在...之间做出选择,我个人更喜欢 Silverlight... 但我敢肯定,如果您选择其中任何一个,您都不会错 - 无论是 Silverlight 还是 Flex,它们都必将成为竞争对手,竞争是一件好事。

【讨论】:

  • 我们首先在 Flex 中制作了产品原型。快速顺利的结果,所以没有抱怨。但作为一名 .NET 程序员,我更喜欢在 Silverlight 中执行此操作。Linus 引用的好话!
猜你喜欢
  • 2011-10-25
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 2015-05-31
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多