Silverlight还是ASP.NET,还是两者都用?

3
目前我正在学习Silverlight。我有ASP.NET的经验,喜欢"Masterpages"的概念。Silverlight提供类似的概念吗?我已经稍微了解了一下Silverlight导航框架。它是"Masterpages"的一个很好的替代品吗?
将ASP.NET和HTML(带有Javascript)与Silverlight结合使用是否合适,还是更推荐设计和编写纯Silverlight应用程序?也许在不久的将来,我会开始开发一个内部网(企业)应用程序,它将具有许多复杂的用户交互(它应该像Windows客户端应用程序一样运行)。我认为Silverlight比ASP.NET更好的选择!立即开始使用/学习WCF RIA Services是否有意义?
是否有好的(VS)模板可用于Silverlight的起步,或者哪些是新Silverlight应用程序的良好基础/起点?不幸的是,我在http://www.silverlight.net上找不到像www.asp.net上的“Starter kits”!
感谢您提供的提示。
3个回答

5
银光和ASP.Net在技术上相差甚远,银光更接近Winforms编程而不是ASP.net,尽管它可以被托管在ASP.Net页面中。
要实现“masterpage”类型的功能,您可以拥有一个基本控件或页面,从中继承其他所有内容。或者您可以拥有一个作为外壳的页面,并根据用户的操作插入和替换视图。
如果您从头开始编写应用程序,则可以完全使用Silverlight。您可以从一个Silverlight控件(托管在aspx页面中)导航到另一个具有Silverlight控件的aspx页面,但在转换aspx页面之间存在性能开销(它们是Web页面,需要服务)。如果可能的话,您应该尝试消除单独的aspx页面,并将其创建为一个大的Silverlight应用程序 - 如果您的应用程序的功能都集成在一个应用程序中(而不是分散在aspx页面中),则可以充分利用Silverlight的离线浏览功能。
但是,只有在构建Web应用程序或交互/流媒体内容时,才应考虑Silverlight。如果您的页面将主要是静态的(即呈现产品目录或用户只需从一个页面钻取到另一个页面的站点),那么使用Silverlight会过度,最好坚持使用ASP.Net或ASP.Net MVC。

4

在Silverlight中是否有类似于Masterpages的概念?

直接来说没有,但它确实提供了多种方法来实现Masterpages的目标。导航框架大多是您需要实现使用Masterpages的典型原因所需的内容。

但是,通过创建一个UserControl,在ASP.NET masterpages中您会使用asp:contentplaceholder的位置上具有ContentControl实例,可以更普遍地实现“masterpage”功能。这些内容控件将绑定到添加到UserControl的自定义属性。然后,可以将此完成的UserControl用作另一个UserControl或Page的“LayoutRoot”。请注意,这不需要从“主机”继承。

组合使用ASP.NET和Silverlight应用程序是否有意义?

好吧,这很棘手,真正的答案是:“这取决于”。有太多因素无法给出真正的答案。因素:

  • 这是公共应用程序还是内部应用程序?
  • 包含丰富的UI功能有多重要?
  • 第一次使用Silverlight开发将会花费你,你的项目能够吸收吗?
  • 您需要支持哪些客户端平台?
  • 如何使用ASP.NET-MVC +适当使用JQuery来满足您的要求?
  • 可能还有其他我还没有想到的

当存在许多复杂的用户交互时,Silverlight是否比ASP.NET更好的选择?

短语“复杂的用户交互”可能意味着几件事情?你是否指HTML和Javascript难以实现但对用户来说很简单的复杂性?还是这是针对专家用户的复杂应用程序?

在任何一种情况下,Silverlight可能会开始在这里发挥作用。

是否立即开始使用/学习WCF RIA Services也是有意义的?

再次回答取决于您心中的应用程序类型。如果它是一款业务应用程序,其中数据被搜索,编辑和报告,则(假设您已经决定完全开发Silverlight)绝对应该查看WCF RIA服务以及PRISM的适当部分。

其他类型的应用程序可能不会受益于WCF RIA服务。

是否有好的(VS)模板可用于开始Silverlight或作为新Silverlight应用程序的良好基础/起点?

目前没有起始套件。但是,我认为您会在Silverlight学习网站上的各种演示和教程中找到所需的内容。

我发现这些视频特别有用。如果你决定使用Silverlight,则值得花一两天的时间来观看相关视频。

2

这是一次提出了许多问题。

是的,导航框架功能与主页面的概念差不多相同。甚至到了用户导航时可以在URL中跟踪它,因此他们可以使用浏览器的前进和后退按钮。

如果您想要创建一个独立的Silverlight应用程序或混合应用程序,这在很大程度上取决于您的要求以及您想要开发的应用程序类型。如果是业务线应用程序,那么仅使用Silverlight可能就足够好了。

对于公共、内容/文本密集型网站,可能仍然更喜欢使用HTML,并且在某些地方加入一些Silverlight小部件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接