代码之家  ›  专栏  ›  技术社区  ›  billb

Silverlight 3是否更改MVC与Silverlight问题?

  •  8
  • billb  · 技术社区  · 16 年前

    我很快就要开始一个新项目,研究是否要使用MVC、Silverlight或两者都使用。这个问题 Silverlight vs. ASP.NET MVC 是一个很好的起点。但是回顾一下SL3测试版,有两件事看起来只是稍微改变了环境。首先,导航功能是Silverlight的直接功能,现在有了.NET RIA服务。虽然实际上不是Silverlight的一部分,但它是相当集成的,似乎可以弥合客户机和服务器操作之间的鸿沟。在我看来,MVC很强大,而Silverlight(作为客户端技术)则不然。我知道你仍然可以两者兼用,但你应该这样做吗?为什么?

    6 回复  |  直到 15 年前
        1
  •  16
  •   Chad Moran    16 年前

    简单地说,不。

    桌面上的Silverlight和Silverlight更像是恰好在Web上运行的WinForms/WPF应用程序。它们的状态和行为与网站非常不同。Silverlight应用程序只能在允许Silverlight运行的计算机上运行。在业务网络设置中,他们可能设置了组策略,因此无法安装Silverlight。那你就有问题了。

    然而,ASP.NET MVC是一种无状态的设计,在这种设计中,几乎任何拥有Web浏览器的人都可以使用它,而不必考虑平台。使用ASP.NET MVC可以让您的站点更自由,因为您不依赖于安装了任何类型运行时的最终用户。

    我觉得每个人都有自己的位置,这很明显。Silverlight非常适合在适用的情况下创建丰富的体验。我怀疑你会看到太多的Silverlight出现在替换网站上。

        2
  •  6
  •   Scott    15 年前

    当我们构建.NET RIA服务时,我们希望使开发人员能够基本上构建Rapid RIA的100%,因此,我们以接管ASP.NET WebForms等的负担为目标,以混合方式使用这两种方法是可能的,但这是一个问题,您希望从哪一个方面接管这项工作。

    如果您是Silverlight解决方案的基本实现方式(仅限于数据的数据报),那么ASP.NET MVC更适合您,因为这样您就不必担心深度链接等(因为它在基于HTML的本机方法中是免费的)。

    但是,如果您在Silverlight中构建了一个更大的RIA解决方案,并以特定的方式使用ASP.NET,那么好吧,这很好,但是您必须记住,每次刷新页面都会受到惩罚,这当然是一个页面刷新,其次,您需要确保所述Silverlight实例能够找到返回到哪里的方法。在您点击刷新之前(或者加载到一个允许用户找到前进方向的地方)。

    尽管我们加入了RIA服务,但这可能有点棘手。

    Scott Barnes/Rich Platforms产品经理/Microsoft。

        3
  •  2
  •   JSmyth    16 年前

    我认为这两种技术都有各自的用途——我认为Silverlight主要用于特殊用途的应用程序,而ASP.NET MVC主要用于公共和一般用途的网页和Web应用程序。

    至于你想用哪一个,那完全取决于你的需要和你的听众。

        4
  •  1
  •   vidalsasoon    15 年前

    即使对于业务应用程序(导航、RIA服务、数据表单等),Silverlight也能很好地发展,但是你的大问题是插件。

    就我个人而言,我厌倦了HTML,所以我把精力集中在Silverlight上。

    这还取决于你是否在一个网站上工作是为了娱乐。

        5
  •  1
  •   Community CDub    7 年前

    许多为企业和组织构建的网站都有面向公众的“只读”前端。也就是说,信息(库存、目录、公司新闻)是从一个丰富的数据库中呈现的,但是一般的最终用户没有能力编辑它们。

    我所看到的自然模式是将ASP.NET MVC用于“前端”演示,但使用Silverlight/RIA功能以避免在管理后端写入所有CRUD内容。很合身。管理用户库通常比总访问量小得多,下载时间、Silverlight渗透等问题几乎没有问题。

    然而,Silverlight RIA/ASP.NET MVC的故事现在是一个非常模糊的故事。关于如何使用RIA服务来提供对您为MVC项目构建的样式的共享存储库项目的访问,没有太多的信息。 link text 这使得现在很难整合它们。您可以在一个普通的ef或linq2sql基础上构建MVC和RIA层,但是共享为MVC构建的分类存储库的智能是有意义的。

    理想情况下,我们将获得将RIA服务连接到存储库风格的类层的良好文档,与存储库用于与下面的数据库对话的内容无关,然后快速开发的故事将完成。

        6
  •  1
  •   En.    15 年前

    我认为Silverlight不会改变ASP.NET MVC的故事。

    MVC使ASP.NET更易于Web标准化,并强制项目成为一个更具可测试性、分离的结构。后者是架构师/开发人员在WebForms中的唯一责任。

    “就我个人而言,我厌倦了HTML,所以我把精力集中在Silverlight上。” 阿门。也是JavaScript。

    我已经开发了十多年的Web应用程序(经典的ASP在测试版一出现就跳到了.NET上)。ASP.NET中的mcts x2和mcpd x2。 虽然我认为ASP.NET MVC对于网站开发人员来说是一个很好的插件,但我确实认为在UI层中具有严格MVP模式的Web表单对于企业/B2B Web应用程序来说仍然更好。(仪表盘、管理、报告等)

    当我进入更多的集成空间、SOA、Biztalk、WCF等领域时,所有这些都说明了这一点。 我真的不想给出一个SH1T的天气,这个CSS属性在“IE版本什么时候都有效地应用了”。或者“火狐版本下一步”,过度处理有时候很好的事情,想在网络表单中自我控制层次。

    Silverlight3确实开始与LOB应用程序相关,我认为它是WebForms的主要compeditor,而不是MVC。