Jaime Rodriguez On Windows Phone, Windows Presentation Foundation, Silverlight and Windows 7
In between all the positive feedback at MIX, there was a lingering question that I read a lot on twits, blog posts, and heard at the Q&A from some sessions and I think we missed it during our planning; I felt it is one of those “we can not see the forest cause the trees are on the way” mistakes. Do you know what the question is??
Yes, it is “With Silverlight out of the browser, is WPF dead?” ..
Here is my personal take as a person who spends a lot of time with both of these teams and with customers using the technologies ( very often at the same time):
WPF and Silverlight address different scenarios and though they look alike, it is unlikely that in the short-term, one replaces the other.
The long answer is that the scenarios each technology addresses are different enough that they have conflictive requirements. I see the choice between these two platforms as a trade-off between:
Size vs. Features Full-trust (with native interop) vs. Secured or Sandboxed
Expanding even further:
Silverlight addresses our RIA needs. A good Rich Internet Application (RIA)run-time needs to be:
WPF addresses our Windows (desktop) application needs. A good desktop application needs to be:
Once you look at the above, it is easy to grasp why today, we do need multiple technologies to address both scenarios. Any one that tells you otherwise is heavily short changing you in one of these two scenarios (usually the desktop).
We do need to acknowledge that RIAs need stickiness, and off-line launching, and that is why Silverlight Out Of Browser was created, I call this scenario the “off-line RIA”; and it is very, very different from the “full-trust desktop app”.
Three more reasons to explain why WPF will be around for a long while:
Inside Microsoft adoption is also strong; we see our business platform – the Dynamics team- using it; we have consumer apps like LifeCam and SongSmith, we have office apps like Semblio, our internal IT teams are using it, and our own development division is betting heavily on WPF to create Visual Studio 2010 and Expression Blend. Announcement: Starting next Tuesday (seems like a good day for recurrent series) I will try to start a new “blog series” similar to Tim Sneath’s “Great WPF applications” series; I am not as eloquent as Tim, but I am happy to keep you on the loop on some of the great WPF apps out there. I don’t think we do enough of sharing those successes(again, trees blocking the forest).
In closing, WPF will be around a while. One size does not fit all, today.
The story on the WPF and Silverlight convergence is actually much better than this post discusses because here I aimed at explaining the different scenarios each addresses; stay tuned for Part 3 to discuss the synergies amongst Silverlight and WPF.
I am glad to hear that .Net 4 Client Profile will be approx 22 MB, and able to install to any PC. I am wondering how fast is the installation time. Also, would there be any improvement in Client Profile Configuration Designer?
One of the reasons that people are moving to Silverlight development for small apps is because the current .Net 3.5 + ClickOnce installation experience is slow and terrible. And, I often receive complaints from my users for this.
Well said Jaime. I agree that WPF will be around for awhile, even if Silverlight might become a superstar. By the way, I think of it as "Full .NET framework vs. Silverlight" and not "WPF vs. Silverlight". Silverlight hasn't been only about WPF ever since it was WPF/E back in the days when there was no .NET framework in WPF/E and you had to code with Javascript. When you choose Silverlight, you aren't just foregoing some missing features from WPF, but the entire .NET framework and all the richness and productivity it provides that isn't crammed in Silverlight's 4.4 MB compact edition of .NET.
Development related: Persistence ignorance in the Entity Framework discussed with reference to the EFPocoAdapter