views:

52

answers:

1

Hi

I have a web application built in the asp.net 2.0 MVC pattern.

Now the clients want to update this application with rich UI experience and the latest .net technologies.

Can anyone suggest whether I should use WPF or Silverlight: which one should I choose to change the application per the client requirement? I should be able to reuse my business layers and data layers, and thus reduce the time of development.

If I should choose one of these, please tell me the reasons and describe the requirements and what other guidelines I should keep in mind.

Thanks in advance SA

+2  A: 

First lets clarify the technologies:

  • WPF is a desktop technology - although you can run it via a web browser using XBAPs however this is basically just downloads and runs the XPF (so your users need to have everything that WPF needs - Windows, .NET 3.0+ etc..)
  • Silverlight is a proper web technology - meaning it runs across browsers and OS.

So which can you use: From Silverlight/WPF you can call to web services meaning you can easily reuse your business layers, although you just may need to wrap them.

I would not recommend a full change though - I would adopt a hybrid approach of using Silverlight + MVC. Swap out the parts of the front end (view) that make sense with Silverlight but keeping the the ASP.NET MVC code. This not only means your change is small (you can test out a single change and get feedback from users such as maybe your user base doesn't have permission to install Silverlight and thus can't use it), and you keep the ability to unit test a large part of your code still.

Robert MacLean