Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Silverlight 3 Change the MVC vs. Silverlight question?

I'm starting a new project soon and investigating whether or not to use MVC, Silverlight or both. This question Silverlight vs. ASP.NET MVC was a good starting point. But looking over the SL3 beta, it looks like there are two things that change the landscape just a bit. First, the navigation feature which is a direct feature of Silverlight and now there is the .NET RIA Services. While not actually part of Silverlight, it's fairly integrated and seems to bridge the gap between client and server operations. An area, in my opinion where MVC is strong and Silverlight (being a client side technology) was not. I understand that you can still use both, but should you and why?

like image 751
billb Avatar asked Mar 21 '09 23:03

billb


2 Answers

Simply put, no.

Silverlight and silverlight on the desktop are more like winforms/wpf applications that just happen to run on the web. They're stateful and act very differently from a web site. Silverlight apps can only be run on machines that allow silverlight to run. In a business network setup they may have group policies setup so that silverlight cannot be installed. Then you've got a problem.

ASP.NET MVC however is a stateless type of design where pretty much anyone with a web browser can get to regardless of platform. You have much more freedom with your site using ASP.NET MVC because you don't have a dependency on the end-user having any sort of runtime installed.

I think each has their place and it's pretty much obvious. Silverlight is great for creating a rich experience where applicable. I doubt you'll see too much silverlight popping up replacing web sites.

like image 142
Chad Moran Avatar answered Nov 14 '22 03:11

Chad Moran


When we built .NET RIA services we looked to enable developers to basically build out rapid RIA's 100% and as a result we targeted the approach in terms of taken over the burden of ASP.NET WebForms etc. To use the two in a hybrid fashion is possible, but it's a question of which piece do you want to take over the heavy lifting.

If you're Silverlight solution is basic in terms of implementation - ie datagrid of data only - then ASP.NET MVC is a better fit as this way you're not having to worry about deep linking etc (as that comes free inside a native HTML based approach).

If however you're building out a larger RIA solution within Silverlight and are using ASP.NET in ways that are specific, then ok thats fine, but you're going to have to remember that with every page refresh comes a penalty that is of course a page refresh and secondly you need to ensure the said Silverlight instance can find its way back to where it was before you hit the refresh (that or loads in a place that enables the user to find its way forward).

It can be somewhat very tricky despite the goodness we baked into RIA Services.

Scott Barnes / Rich Platforms Product Manager / Microsoft.

like image 6
Scott Barnes Avatar answered Nov 14 '22 05:11

Scott Barnes