Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have a fair amount of experience with WPF (C#) and XAML. I might soon be asked to create a Silverlight 5 application. I have no experience with any version of SL. What sort of learning curve could I expect in creating a SL 5 app, given that I have some experience with WPF?

share|improve this question
add comment

4 Answers

The differences seem to be minimal until you unpeel the layers to reveal how Silverlight really works.

One person mentioned the inability to perform a synchronous web service call. Other notable limitations are that Silverlight runs on its own dedicated runtime environment and cannot utilize the core .NET framework libraries. It is wholly dependent on the limited Silverlight framework libraries, which in fairness is mostly complete however you will run into situations where you will want access to something specifically on the .NET core library that is not available to the Silverlight Runtime.

The other issue I have personally run into is with trying to reuse the same data model classes from my web service project to my Silverlight project. You can't share the project or the binary assembly directly, as it compiles and runs only on the core .NET framework. You either duplicate your data model code in both projects (which has its design advantages by the way) or you create a Silverlight project that references resources from your actual data model project. In this way you have two projects, one that will compile for running on the core framework and the other for Silverlight. Again, not a big deal, just another wtf realization I had the first time I ran into it.

There are also limitations on XAP file size which third party frameworks are able to deal with quite effectively, but it is something to look out for.

share|improve this answer
add comment

Your skills will directly transfer. Be not of concern.

However.

Desktop apps are not browser apps.

Desktop apps have things like menubars and toolbars and statusbars and all the other heavyweight desktop-appy stuff that browser apps tend not to.

The important thing is not simply to port a desktop app to a browser app (which is what it sounds like you will wind up being asked to do), but to rethink it in terms of a browser app.

share|improve this answer
    
Good advice but I think the whole point of Web Rich Interface Applications built in Silverlight, Flash+Java, and HTML5+Javascript is to bridge the gap and blur the lines between the traditional desktop application and web application. If for no other reason than the web based RIA is infinitely easier to deploy and install up-to-date version to users all across the world than the traditional desktop based applications. –  maple_shaft Feb 16 '12 at 14:55
    
I agree with blurring the lines. However, blurry lines are still lines. If, for example, if one goes about doing a direct port of a full scale enterprise level desktop based application, and makes an identical web app with it, then I question why the decision was made to do that... wouldn't one simply leave it a desktop app? –  PlayDeezGames Feb 16 '12 at 17:41
add comment

A detailed comparison can be found on the following paper. I assume that the paper was prior to Silverlight 5, nevertheless, the paper is very comprehensive. Guidance on difference between Silverlight and WPF. MSDN has released a comparison detailing some features in WPF not in Silverligth and vice verse on this link:MSDN-WPF-Silverlight. Hope this helps.

share|improve this answer
add comment

Silverlight is a subset of WPF, so it's quite similar...

One big thing to watch out for is that silverlight calls to the serverside have to be done asynchronously because unlike WPF calls cannot be blocked until an answer is returned

share|improve this answer
2  
Not strictly true. There are some things in Silverlight 5 that aren't in WPF. –  ChrisF Feb 16 '12 at 14:05
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.