Silverlight是我需要的正确选择吗?

时间:2009-06-11 05:30:41

标签: .net silverlight

我正在研究向现有ASP.NET 3.5应用程序添加丰富功能的最佳方法。我还没有在Silverlight中开发任何东西,但当我想到我需要什么功能时,我开始想知道Silverlight是否可能是答案。

这是我需要的: 能够移动/选择对象,选择每个对象并能够应用颜色选择器中的颜色等属性。这些对象都应该实现一个通用的接口和/或基类。

我在考虑使用Windows窗体应用程序会有多容易,但这必须是可以在Windows和Mac上运行的Web应用程序。

我想知道Silverlight是否更适合花哨的图形,或者是否有能力满足这种业务需求并且更像ASP.NET / AJAX应用程序(但可以更好地访问对象)。

以下是一些注意事项:

  • 我对WPF一无所知
  • 此用户群有点 小但我无法决定O / S
  • 我需要能够将数据加载/保存回服务器(np im sure)
  • 我对nTier有很多经验, .NET等...但是xaml / SL学习 曲线..?

非常感谢你花时间看这个: - )

更新
谢谢大家的意见,非常有帮助。

  • 让用户安装Silverlight不会成为问题,它只是整个应用程序的一小部分,如果他们想要这个功能,将是一个要求。

8 个答案:

答案 0 :(得分:3)

您会发现几乎所有关于.NET Framework和Visual Studio的知识都直接适用于Silverlight。您还可以找到ASP.Net的编程模型,类似于声明性标记,然后是后面的代码。 Silverlight非常干净地将代码与设计分开 - 可能需要一些时间来习惯 - 尤其是数据绑定 - 但是一旦你学会了它,你会发现它非常强大。

从这里开始(在StackOverflow上)和http://silverlight.net,这两个网站将成为您的指南。

答案 1 :(得分:3)

由于安装插件对您的客户来说不是问题,因此我强烈建议您使用Silverlight。版本3.0非常适合业务线应用程序,正如其他人所提到的...... Silverlight正快速接近交互式HTML可以完全消失的程度。

使用Silverlight的.net经验是明智之举。 XAML是小菜一碟,如果由于某种原因你不习惯使用XAML定义你的UI(尽管像Blend这样的优秀工具),那么你可以通过后面的代码添加和调用它们。

  • 我对WPF一无所知 对于简单形式,这不是问题。这里有大量的教程,涵盖了与silverlight基于正常形式的交互。

  • 此用户群有点小,但我不能指定O / S. 只要他们使用OS X或Windows,他们就拥有完整的Silverlight功能。 Linux用户在Moonlight方面缺乏一点......

  • 我需要能够将数据加载/保存回服务器(np im sure) Silverlight允许您通过套接字,WCF / WCF双工服务,.Net RIA服务与服务器进行交互。

  • 我对nTier,.NET等有很多经验......但是xaml / SL学习曲线......? 我不认为如果你对.Net和nTier应用程序有经验,特别是XAML / SL会有很多学习曲线。

以下是一些不错的资源

http://www.silverlight.net/learn http://www.silverlight.net/getstarted

祝你好运!

答案 2 :(得分:2)

讨厌挑剔,但Mac不是首字母缩略词。

除此之外,Silverlight在这里是一个非常好的选择,因为HTML + JavaScript实际上不是为客户端交互性而设计的。一切都是事后的想法,而Silverlight就是为它而设计的。像jQuery这样的东西在HTML案例中确实很有用,但它仍然只是一个例子。

我强烈建议您查看Silverlight 2/3。版本3(测试版,即将发布)真的是对我的域名的业务应用程序的支持。我最近才开始使用Silverlight,老实说,我认为它是交互式HTML的可行替代品。

如果没有WPF背景,学习曲线有点陡峭。但Expression Blend 3和Visual Studio 2010增加了一些急需的设计师支持。

答案 3 :(得分:2)

只是成为魔鬼的拥护者...... Flex也可能是另一种选择。通过它的声音,它也可以满足您的需求。就个人而言,我认为来自.Net背景,你最好不要看银光,但它可能值得权衡两者的优点和缺点。

Flex的最大优点之一是该插件安装在Silverlight插件尚未安装的大多数机器上。此外,如果您说这是一个业务应用程序,请考虑在员工计算机上安装插件的公司策略。许多公司可能已经安装了某些版本的Flash,但可能不允许用户升级或安装任何未经IT部门审查的内容。如果是这种情况,如果内置Silverlight,您的应用可能很难被接受。

答案 4 :(得分:1)

我已经构建了一个商业应用程序,目前有大约500个用户。这是一个房地产经纪人MLS应用程序。它很棒。最大的挫折是具有相当大的xap文件大小。这将在SL3中修复。我认为这对于商业应用来说是一个很好的选择,并且只会通过SL3获得更好的效果。

答案 5 :(得分:1)

关于您正在谈论基于画布/图表的应用程序的应用程序类型(创建元素,拖放,更改属性......)?

在我的空闲时间(SL 2在阿尔法时开始),我实现了这个DBSchema Diagramming工具(基于SL):

http://www.dbschemaeditor.com/

我的主要限制是:

  • 打印(我需要转到服务器端并使用GDI +绘制位图,然后返回到客户端返回JPEG)。从理论上讲,SL3现在可以直接将画布保存为位图。

  • 将文件保存到本地:我使用了独立存储,但在SL3上,您可以使用另存为对话框。

我找到的好东西:

  • 非常强大,我的图表有超过80个表(以及一大堆关系)并且表现相当不错。

  • 而不是javascript在客户端使用.net哇太棒了! :)

    HTH 布劳略

答案 6 :(得分:0)

Silverlight对你正在做的事情应该没问题。请记住,您需要在客户端计算机上安装silverlight运行时才能使Silverlight应用程序正常工作(非常类似于Flash插件)。

XAML的学习曲线,好吧,我认为你不必担心它。下载Microsoft Expression Blend并在其中设计您的silverlight控件。它将自动生成XAML以与代码一起使用。对于经验丰富的.NET程序员来说,Silverlight学习并不困难。

答案 7 :(得分:-2)

Silverlight是一种邪恶和劣等技术,应该避免像癌症一样......!