开发者

Should I make a social networking site purely Silverlight or use ASP.NET MVC?

I know Silverlight requires a plug-in download and some enterprises don't allow it on their computers and it isn't supported on mobile devices, iPad, etc. Let's say those are not critical issues for me. Other than that, what would be the considerations for me not to make my social networking site purely Silverlight versus some Silverlight\AS开发者_JS百科P.NET MVC hybrid or just pure ASP.NET MVC? Also, would there be any significant performance hit due to a high user traffic for the site implemented in pure Silverlight versus ASP.NET MVC?

I know there are a lot of posts on this site comparing Silverlight to ASP.NET MVC, but I haven't found anything that would give me a definitive answer for this question.

Thanks a lot in advance.


While I tend to like Silverlight as a technology, if you're doing a social networking site I think you need to aim for the largest audience possible. By choosing Silverlight, you're restricting your users to those Windows and MacOS users who don't have poicy restrictions or an irrational hate of Silverlight.

So use ASP.NET MVC.

If however you do choose Silverlight - in theory a pure Silverlight deployment should be faster than an ASP.NET MVC one:

  • While you do have the (reasonably large) size of the silverlight app, it shouldn't change between releases and should be cached by the client.
  • You have the advantage that the data transmitted between the client and the webservice it talks to is raw data and not a full page (although that's a moot point if you'd otherwise be building a javascript-heavy site and transferring JSON dynamically)
  • Silverlight forces you to use asynchronous calls, so you don't get into UI-blocking situations that can make the interaction appear slower.

However the same rules still apply around minimizing the quantity of webservice calls - if you're always calling a bunch of webservice methods together, consider wrapping them up into one call.

Also if you go too crazy with animations it can be chunky on slower machines.


Reasons to not go for Silverlight: - Requires a plugin. - Restricted to "PC" devices - Learning curve? - Client Server paradigm shift (this catches a couple of people out

Reasons TO use Silverlight - Can make a snappy UI easily - Can be converted to a desktop app easily - Less server load for rendering (negligible really)

Reasons to use MVC - Can be consumed by all browsers - Easy to pitch different client experiences off the same tech stack - Easier to dev on than Silverlight


Performance hit by using Silverligt? Probably the opposite depending on how you build the application. A modern web application really need to take the shit on the server to get the deed done (ajax on ajax on ajax in ajax etc).

On the other hand, Silverlight is so small you will not be able to do a social networking site in it unless its in-house. But this question and answer does not belong @ SO.


You should consider that Silverlight is a client-side technology. Therefore you would probably implement all data layers and external interfaces as web services. Of course, this can be done but might be harder and more complicated to implement than MVC-integrated technologies like Linq2SQL or the entity framework.


Use both! Create your site and all its core features with MVC, and then use Silverlight for that "little extra". Over time, you'll be able to collect enough statistics about your users, and if you have a high percentage of them with Silverlight installed, then start adding more silverlight features. If your users aren't installing Silverlight, then stick with javascript.

Also, don't be discouraged by the number of people who don't have Silverlight. Give them a reason to install, and give them a good experience installing it. People will do it if your site has something they want.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜