我即将开始一个新项目并调查是否使用MVC,Silverlight或两者。这个问题Silverlight vs. ASP.NET MVC是一个很好的起点。但是看看SL3测试版,看起来有两件事情会改变景观。首先,导航功能是Silverlight的直接功能,现在有.NET RIA服务。虽然它实际上不是Silverlight的一部分,但它相当集成,似乎弥合了客户端和服务器操作之间的差距。在我看来,MVC很强大的领域和Silverlight(作为客户端技术)并非如此。我知道你仍然可以使用两者,但是你应该和为什么一样?
答案 0 :(得分:16)
简单地说,不。
桌面上的Silverlight和Silverlight更像是刚刚在网络上运行的winforms / wpf应用程序。他们是有状态的,并且与网站的行为截然不同。 Silverlight应用程序只能在允许Silverlight运行的计算机上运行。在业务网络设置中,他们可能已设置组策略,因此无法安装Silverlight。那你就有问题了。
然而,ASP.NET MVC是一种无状态类型的设计,几乎任何拥有Web浏览器的人都可以使用它而不管平台。使用ASP.NET MVC可以更自由地使用您的站点,因为您没有依赖安装了任何类型运行时的最终用户。我认为每个人都有自己的位置,而且非常明显。 Silverlight非常适合在适用的情况下创建丰富的体验。我怀疑你会看到更多的银色灯泡替换网站。
答案 1 :(得分:6)
当我们构建.NET RIA服务时,我们希望开发人员能够基本构建快速RIA的100%,因此我们在接管ASP.NET WebForms等的负担方面针对该方法。使用这两者混合时尚是可能的,但这是一个问题,你想要接管哪一件重物。
如果您是Silverlight解决方案在实现方面是基本的 - 即仅数据的数据网格 - 那么ASP.NET MVC更适合,因为您不必担心深层链接等(因为它是免费的)在基于HTML的原生方法中)。
但是,如果你在Silverlight中构建一个更大的RIA解决方案并且正在以特定的方式使用ASP.NET,那么确定没关系,但你必须要记住,每次刷新页面都会受到惩罚这当然是一个页面刷新,其次你需要确保所说的Silverlight实例可以找到回到刷新之前的位置(或者在一个允许用户找到前进方向的地方加载)。 / p>
尽管我们对RIA服务有好处,但这可能有点棘手。
Scott Barnes / Rich Platforms产品经理/ Microsoft。
答案 2 :(得分:2)
我认为两种技术都有自己的位置 - 我认为Silverlight主要用于特殊用途的应用程序,而asp.net MVC主要用于公共和通用样式的网页和Web应用程序。
关于您想要使用哪一个,这完全取决于您的需求和受众。
答案 3 :(得分:1)
即使对于商业应用程序(导航,RIA服务,数据表等等),Silverlight也很顺利。但是,最大的问题是插件。
就我个人而言,我已经厌倦了HTML,所以我专注于Silverlight。
这也取决于你是否在网站上工作是为了好玩。
答案 4 :(得分:1)
许多为企业和组织构建的网站都有一个面向前端的“只读”公众。也就是说,信息(库存,目录,公司新闻)来自富数据库,但普通最终用户无法编辑它们。
我看到的自然模式是使用ASP.NET MVC进行“前端”演示,但使用Silverlight / RIA功能来避免在管理后端编写所有CRUD内容。这非常合适。管理用户群通常比总受众小得多,下载时间,Silverlight渗透等问题几乎没有问题。
然而,Silverlight RIA / ASP.NET MVC的故事现在非常模糊。没有太多信息讨论如何使用RIA服务来提供对您为MVC项目构建的样式的共享存储库项目的访问。 link text这使得他们现在很难整合。您可以在公共EF或Linq2Sql基础之上构建MVC和RIA层,但是分享您为MVC构建的Repository的智能是有意义的。
理想情况下,我们将获得将RIA服务连接到存储库样式类层的良好文档,与存储库用于与下面的数据库通信的内容无关,然后快速开发故事将完成。
答案 5 :(得分:1)
我不认为silverlight会改变asp.net MVC的故事。
MVC让asp.net更加符合Web标准,并迫使项目进入更可测试的,分离的结构。后者是webforms中架构师/开发人员的唯一责任。
“就我个人而言,我厌倦了HTML,所以我专注于Silverlight。” 但愿如此。也是javascript。
我已经开发了十多年的网络应用程序(经典的asp然后在它测试版时就跳到了.Net)。 asp.net中的MCTS x2和MCPD x2。 虽然我认为ASP.Net MVC对于网站开发人员来说是一个很好的附加功能,但我确实认为在UI层中具有严格MVP模式的Web表单对于企业/ B2b Web应用程序来说通常更好。 (仪表板,管理,报告等)
所有人都说,随着我进入集成领域,SOA,biztalk,wcf等。 我真的很喜欢这个css属性有效地应用于“IE版本什么”。或“火狐版本下一步”和过去处理有时很棒的时候想拍摄自己控制网页形式的层次结构。
Silverlight 3真正开始与LOB应用程序相关,我认为它是webforms的主要编辑,而不是MVC。