Future desktop LOB apps - WPF, Silverlight or... HTML5?
The Silverlight strategy has shifted to Windows Phone, and for cross-platform web development, 开发者_JAVA百科it's HTML 5.
http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834
I'm just starting to get comfortable with the idea of developing desktop line-of-business apps with Silverlight out-of-browser (over WPF), but I'm not sure what this strategic shift means for the desktop.
Should I shift back to considering WPF instead, thinking that when HTML5 matures, they might abandon Silverlight eventually?
Also mentioned was this quote:
Silverlight also has some “sweet spots” in media and line-of-business applications, he said.
News media frequently twist facts, or mention only selected facts, as a way of making the story better. Silverlight is not dying off, and the HTML5 spec has not been ratified.
One could also draw the conclusion from that article that MS are doing their best to manipulate the HTML5 spec to suit themselves and we will end up with a situation like we had in the past: everyone implements the same spec in a different way and you need to code workarounds for each major browser. Because of this wrangling (which other vendors will no doubt also be doing) it may take a long time for the spec to be fully ratified.
Having said that, WPF is not subject to any of this uncertainty - but it still isn't cross platform. So you have to ask yourself these questions:
- what is the expected lifespan of your LOB app?
- how long before it gets a major rewrite?
- is it possible to release it in several different technologies to suit different setups?
LOB apps tend to be quite tightly spec'd and controlled to specific setups, so a long term change of focus for Silverlight may not affect you that much at all.
EDIT: the day after i answered this question, Colin Eberhardt wrote this very good blog post: Does HTML5 mean the end is in sight for Silverlight? which covers this exact news story / quote. Colin also references this follow up blog post from Bob Muglia1 which elaborates on what he was quoted as saying. I think you can safely conclude that it is absolutely fine to develop your LOB app in Silverlight if you want to :)
1 President of the Server and Tools Division at Microsoft
I think it will all boil down to a choice... reachability vs. fast development. And naturally this may not be an easy answer for any project because of a lot of factors.
If I have to go for reachability, probably I will not go with Silverlight. But the moment, I will think of fast development, applications that take some load off the server, complex reporting, code that could easily run on the client, I would think of plugins like SL or Flash... and since I prefer .NET, I would choose SL. HTML 5 has a long way to go, and things aren't going to change overnight [or overyears, if there is such a word :p].
I can't ask people to upgrade their browsers to IE9 that easily... but getting them a SL plugin is a lot easier. Besides, I will be "almost" sure about my application's performance when I use SL plugin. This might not be true if I choose to work with browsers. For instance, IE 9 gives uses hardware acceleration and can give me an output in the range of 50-60 fps, while chrome may suffer with around 5-10 fps!
For consumer and/or wide-distribution products, HTML5 is very compelling. But for LOB applications where - by definition - you have a technically captive audience with mandatory platform configuration and tightly controlled distribution channels, WPF/Silverlight is far more economical. So that's where the activity will be for the vast majority of LOB applications.
Silverlight won't be running on non-Microsoft mobile apps anytime soon. I'd put my money on HTML 5 - simple and open win.
精彩评论