Silverlight 3 to 4 Risk Analysis

174 views Asked by At

My company currently uses a Silverlight 3 front-end to allow users to view data that comes from our Windows Services. The Silverlight 3 Interface and the Services communicate via IPC, but this is problematic as Silverlight 3 only supports IPC connections via HTTP instead of TCP.

We are planning to move from Silverlight 3 to Silverlight 4, but our company has been bitten by bumpy upgrades in the past.

The question is: What are some of the drawbacks or issues you have ran into when transitioning from Silverlight 3 to Silverlight 4?

Examples of things I'm looking for are:

  • Heavily used data structures that were dropped in Silverlight 4
  • Fundamental changes in how Silverlight deals with IPC, threading, or other such features
  • Backwards compatibility issues
  • Etc.
3

There are 3 answers

0
Steve Wortham On BEST ANSWER

Silverlight 4 has some valuable fixes and features in it. And I haven't found any backwards compatibility issues with it personally.

However, Tim Heuer covers a couple scenarios here when upgrading from 3 to 4... http://timheuer.com/blog/archive/2010/04/15/silverlight-4-breaking-changes-backward-compatibility.aspx

And there's a full document from Microsoft titled, "Ensuring That Your Silverlight Applications Work with Silverlight 4".

0
Ken Smith On

Just one data point: We upgraded our solution from SL3 to SL4 when SL4 was still in beta. We had a fairly complicated solution with half a dozen different projects, duplex web services, and maybe 25,000 lines of C#/XAML code. As I recall, I managed to get the project up and running on SL4 in about a day, and that's with several issues that were beta-only, and shouldn't be a problem now. We then took about another week to tweak our project to take advantage of SL4 features (such as the Net.TCP binding), but that doesn't really count as conversion time.

0
mle_ii On

Steve beat me to one of my links and it appears I cannot yet comment on his post. So here's another answer with some additional insight as his already explains where to learn more.

Having worked on testing Silverlight before I can tell you that backwards compatibility was something that we worked very hard on maintaining. Even to the extent that bugs were kept in as some apps depended on them.

But there were some instances that needed to be fixed as they were bad bugs but broke compatibility if they were fixed. One thing that was used was something called quirks mode, where it could be run in SL4 but use SL3 features. And here's an article that talks a bit about it: http://blogs.msdn.com/b/nickkramer/archive/2010/09/11/how-does-silverlight-compatibility-work.aspx