2009-06-11 22 views
2

我正在寻找将丰富功能添加到现有ASP.NET 3.5应用程序的最佳方法。我在Silverlight中没有开发任何东西,但是当我想到我需要的功能时,我开始想知道Silverlight是否可能是答案。Silverlight是我需要的正确选择吗?

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

我在想如何使用Windows窗体应用程序这么容易,但这必须是一个可以在Windows和Mac上运行的Web应用程序。

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

这里有一些注意事项:

  • 我并没有做什么用WPF
  • 这个用户群是有点 小,但我不能决定O/S
  • 我需要能够加载/将数据保存回服务器(np im sure)
  • 我对nTier, .NET等有很多经验......但xaml/SL学习曲线..?

非常感谢您抽出时间来看看这个:-)

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

  • 让用户安装silverlight不会是一个问题,它是整个应用程序的一个小子集,如果他们需要该功能,将会是一个需求。

回答

3

由于安装插件不是您的客户的问题,我强烈建议去Silverlight。 3.0版本对业务应用程序非常有用,正如别人提到的那样... silverlight正在快速接近交互式HTML可以完全消失的地步。

使用Silverlight的.net体验是不容小觑的。 XAML是一块蛋糕,如果出于某种原因,你不习惯用XAML定义你的UI(尽管像Blend这样的优秀工具),那么你可以通过后面的代码添加和调用它们。

  • 我并没有做什么用WPF 对于简单的形式这不会是一个问题。有大量的教程介绍了基于标准表单的Silverlight交互。

  • 这个用户群有点小,但我不能指定O/S 只要他们使用OS X或Windows,他们就具有完整的Silverlight功能。 Linux用户缺乏月光...

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

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

这里有一些很好的资源

http://www.silverlight.net/learn

祝你好运!

2

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

因此,Silverlight在这里是一个不错的选择,因为HTML + JavaScript实际上并不是为客户端交互设计的。所有事情都是事后才想到的,而Silverlight是为它设计的。像jQuery这样的事情在HTML案例中确实有所帮助,但它仍然只是一个插件。

我强烈建议看看Silverlight 2/3。版本3(即将发布,即将推出)对于我的域名的业务应用程序来说真的是一炮而红。我只是最近才开始使用Silverlight,并且我真的认为它已经到了可以替代交互式HTML的地步。

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

+0

-1用于挑选+1的其他所有内容:) – Oorang 2009-06-11 06:56:40

+0

“对于业务应用程序是我的领域真的很抢眼” - 我的太多了,非常感谢你 - 我会直接去v3进行概念验证,因为我有这个功能的公开发布相当长的一个窗口。 – schmoopy 2009-06-11 15:13:21

0

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

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

3

你会发现几乎所有你学到的有关.NET Framework和Visual Studio的东西都直接适用于Silverlight。你也会发现ASP.Net的编程模型类似于声明式标记和后面的代码。 Silverlight将代码从设计中分离出来 - 这可能需要一些习惯 - 特别是数据绑定 - 但是一旦你了解它,你会发现它非常强大。

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

2

只是要成为恶魔的倡导者...... Flex也可能是另一种选择。通过它的声音,它也会消除你的需要。就我个人而言,我认为来自.Net背景你最好是看Silverlight,但它可能是值得衡量两者的亲和好。

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

+0

的Flex可能不适合我的选择,由于学习曲线 - 我已经使用AS3,并让它在当前的应用程序,但我的力量是.NET寿我还是会考虑它,以防万一:-) – schmoopy 2009-06-11 15:09:10

1

我已经构建了一个商业应用程序,目前有大约500个用户。这是一个房地产经纪人MLS应用程序。它效果很好。最大的不利之处在于它拥有相当大的xap文件大小。这将在SL3中修复。我认为这是商业应用程序的绝佳选择,只会在SL3上更好。

+0

很好知道并且我认为xap文件只是在最初被下载时,当它已经被更新或者用户清除了它的缓存时? – schmoopy 2009-06-11 18:32:40

+0

大部分情况都是如此。但是,如果用户浏览到很多其他页面,它将重新下载xap。在SL3中,它们允许您在用户计算机中缓存dll。这将帮助我很多。我们仍然有一些用户拨号,这个应用程序在该环境中使用很痛苦。期待SL3的发布。 – Bill 2009-06-12 15:04:20

1

关于申请你所谈论的是基于帆布/图应用程序(创建元素,拖&下降,更改属性...)的类型?

在我的空闲时间(启动时SL 2是在阿尔法),我实现这个的dbschema图表工具(SL型):

http://www.dbschemaeditor.com/

,我有主要限制是:

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

  • 将文件保存到本地:我使用的独立存储,但SL3你有一个另存为对话框。

好东西,我发现:

  • 非常强大的,我有一个具有80多台(和关系的大bungh),并表现良好的示意图。

  • 相反JavaScript中使用.NET客户端上的......哇,这是伟大的! :)。

    HTH 布劳

-2

Silverlight是一个邪恶的伪劣技术,应避免使用,如果它是癌症......!

相关问题