Recently I have read some articles/blogs/comments about the development and history of WPF and Silverlight. In some forums many developers and users criticize the performance of WPF applications (for example Visual Studio 2010). Actually the market share of Silverlight in comparison to Flash is not very high. At PDC 2010 Bob Muglia said something like "our Silverlight strategy and focus going forward has shifted...." and Microsoft wants to push HTML5 in the future.
I have started learning WPF and Silverlight some months ago and now I must ask myself, if I should continue investing time in learning and practicing these (in my opinions) very nice and powerful technologies!? Do they have a future? Do (Windows) desktop (client) applications have a future? Do so-called "Rich Internet Applications" have a future? Or will HTML5 become the "absolute truth" - the main platform for software development?
What is your opinion and what do you think?
There might be a misconception that UWP is a framework like WinForms and WPF but that is not the case. UWP is a much broader solution but has now been deprecated by Microsoft.
Silverlight is meant to be used online, while WPF is for local use. 3. You can use Silverlight applications regardless of the operating system you use, while WPF applications are restricted to later versions of the Windows operating system.
Microsoft 2022 Roadmap Microsoft has set goals for WPF, indicating that it will be equal in performance and function to the.NET Framework, and that the goals will be achieved with the release of.NET Code 3.0. The roadmap includes plans for ensuring that all components are available.
This is extremely speculative, but a few key points:
I have very similar questions as yours. Since these questions are subjective, people tend to have different answers on the future of WPF and Silverlight. To me, HTML5 will never replace a technology like WPF. They say "never say never", but even if it is to replace it, it won't happen anytime soon. HTML5 looks to me like Silverlight and Flash. We won't need to install plugins (even this claim is subjective because both Silverlight and Flash are advancing, so will HTML5 really fully catch up with those?). Also, last time I checked out some HTML5 samples, I noticed that once you refresh your webpage, animations start from the beginning - something Flash is (to me) badly famous for.
WPF is a different technology. I am not a web developer myself, but honestly, I'd hate to have to have a bunch of tools in my toolbox like HTML, CSS, Javascript. You can use a single framework instead and develop what you want in WPF. It's a great technology yet to be discovered by many developers. Of course, that brings us to the question of "Do I go with the desktop or the web?"
As for the future of desktop development, it is not going anywhere anytime soon either. I see a growing tendency to develop web applications, but we have to realize that both desktop development and cloud development have their pros and cons. Right now, I find web apps slow and I am guessing web apps are not as capable as desktop apps. The future of Windows development depends on the market share of Windows. If Microsoft can keep up their monopoly and your application is useful and interesting, I don't think users will ignore it. I think the difference between desktop development and web development is blurring, and as physical machines get more and more powerful, there will be less users complaining about performance issues and frequent updates. Why do we even bother to ask users if they want to update their software? I think such prompts are annoying like hell. It should be more preferable to install the updates silently and let the user use the application next time they run it.
P.S. WPF will be more popular than WinForms, and hopefully MS will discontinue the latter one day. So, it gives you one more open door to invest in it.
Also, I've always hated the idea of my application running inside a browser. I guess that makes me selfish, but I don't want to worry about browsers crashing, browser incompatibilites, browsers not yet supporting certain features of a technology, and so on.
The quote from Bob Muglia was misunderstood and blown way out of proportion. Microsoft's focus has not shifted away from Silverlight as so many people assumed from his interview. It's just that Silverlight is now being used in different ways (business apps, apps for the phone, etc) and their focus has changed accordingly.
And then comparing to Flash is not really fair as Flash has had a huge head start. Flash was introduced in 1996 and has had a long time to spread. What I've looked at more is Silverlight growth over the years. RiaStats.com now shows a 63% adoption rate for Silverlight 4 which is quite good. There are still times when that adoption rate is a little low for a mainstream app. But the fact that it continues to grow shows promise for Silverlight's future.
On a slightly more subjective note, I'm a fan of Silverlight's portability. The fact that it's still a ~5MB download and runs in or out of the browser on a PC or a Mac is very nice. And then Silverlight is also being used on WP7, and soon the XBOX as well. Just by learning Silverlight you open yourself up to develop for a variety of computers and devices.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With