我知道Silverlight需要插件下载,有些企业不允许在他们的计算机上使用它,移动设备,iPad等不支持它。让我们说这些对我来说不是关键问题。除此之外,我不考虑将我的社交网站纯粹设为Silverlight而不是某些Silverlight \ ASP.NET MVC混合或仅仅是纯ASP.NET MVC?此外,由于纯Silverlight与ASP.NET MVC中实现的站点的高用户流量,是否会有任何显着的性能损失?
我知道这个网站上有很多帖子比较Silverlight和ASP.NET MVC,但是我没有发现任何能给我这个问题明确答案的东西。
提前多多感谢。
答案 0 :(得分:7)
虽然我倾向于将Silverlight视为一项技术,但如果您正在建立一个社交网站,我认为您需要针对最大的受众群体。通过选择Silverlight,您将用户限制为那些没有poicy限制或对Silverlight不合理的仇恨的Windows和MacOS用户。
所以使用ASP.NET MVC。
但是如果你做选择Silverlight - 理论上,纯Silverlight部署应该比ASP.NET MVC更快:
然而,相同的规则仍然适用于最小化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的人数而气馁。给他们一个安装的理由,并给他们一个安装它的好经验。如果您的网站有他们想要的东西,人们会这样做。