我应该将社交网站纯粹设为Silverlight还是使用ASP.NET MVC?

时间:2011-03-28 02:15:13

标签: silverlight asp.net-mvc-2 silverlight-4.0 asp.net-mvc-3

我知道Silverlight需要插件下载,有些企业不允许在他们的计算机上使用它,移动设备,iPad等不支持它。让我们说这些对我来说不是关键问题。除此之外,我不考虑将我的社交网站纯粹设为Silverlight而不是某些Silverlight \ ASP.NET MVC混合或仅仅是纯ASP.NET MVC?此外,由于纯Silverlight与ASP.NET MVC中实现的站点的高用户流量,是否会有任何显着的性能损失?

我知道这个网站上有很多帖子比较Silverlight和ASP.NET MVC,但是我没有发现任何能给我这个问题明确答案的东西。

提前多多感谢。

5 个答案:

答案 0 :(得分:7)

虽然我倾向于将Silverlight视为一项技术,但如果您正在建立一个社交网站,我认为您需要针对最大的受众群体。通过选择Silverlight,您将用户限制为那些没有poicy限制或对Silverlight不合理的仇恨的Windows和MacOS用户。

所以使用ASP.NET MVC。

但是如果你选择Silverlight - 理论上,纯Silverlight部署应该比ASP.NET MVC更快:

  • 虽然你确实拥有(相当大)的silverlight应用程序大小,但它不应该在版本之间发生变化,应该由客户端缓存。
  • 您的优势在于客户端与其所使用的Web服务之间传输的数据是原始数据而不是整页(尽管如果您构建一个javascript密集的站点并动态传输JSON,这是一个没有实际意义的点。 )
  • Silverlight强制您使用异步调用,因此您不会遇到可能使交互显得更慢的UI阻塞情况。

然而,相同的规则仍然适用于最小化webservice调用的数量 - 如果你总是一起调用一堆webservice方法,考虑将它们包装成一个调用。

此外,如果你对动画过于疯狂,那么在较慢的机器上它可能会很粗糙。

答案 1 :(得分:3)

不参加Silverlight的原因:   - 需要一个插件。   - 仅限于“PC”设备  - 学习曲线?   - 客户端服务器模式的转变(这会让几个人失望

使用Silverlight的原因   - 可以轻松制作一个快速的用户界面   - 可以轻松转换为桌面应用程序   - 减少渲染的服务器负载(实际上可以忽略不计)

使用MVC的原因   - 可以被所有浏览器使用   - 轻松地将不同的客户体验放在同一个技术堆栈中   - 比Silverlight更容易开发

答案 2 :(得分:2)

使用Silverligt打击了性能?可能相反,取决于您构建应用程序的方式。一个现代的Web应用程序确实需要在服务器上使用shit来完成契约(ajax on ajax on ajax in ajax等)。

另一方面,Silverlight非常小,除非在内部,否则您将无法在其中建立社交网站。但这个问题和答案不属于@ SO。

答案 3 :(得分:2)

您应该考虑Silverlight是一种客户端技术。因此,您可能会将所有数据层和外部接口实现为Web服务。当然,这可以做到,但实现起来可能比Linq2SQL或实体框架等MVC集成技术更难,更复杂。

答案 4 :(得分:1)

同时使用!使用MVC创建您的站点及其所有核心功能,然后使用Silverlight进行“额外的”。随着时间的推移,您将能够收集有关您的用户的足够统计信息,如果您安装Silverlight的比例较高,则开始添加更多silverlight功能。如果您的用户没有安装Silverlight,请坚持使用javascript。

此外,不要因没有Silverlight的人数而气馁。给他们一个安装的理由,并给他们一个安装它的好经验。如果您的网站有他们想要的东西,人们会这样做。