Friday, September 16, 2011

Windows 8 & 'death of Silverlight'

Lots of discussion of WTF is going on at Microsoft with the development platforms. BUILD didn't answer all that many more questions than it created, leading to lots of posts that "Silverlight (and flash) are dead!"

A friend of mine at MS forwarded me to this link: http://tirania.org/blog/archive/2011/Sep-15.html which "demystifies WinRT", the new dev platform discussed at Build. You should read it thoroughly and not rely on my summary alone.

From reading this article it sounds like in reality Silverlight / WPF are evolving into a new XAML based UI development platform, which, like Silverlight, only contains exposure to a subset of the functionality that .NET developers are used to. For "security", there is ostensibly no access to file system I/O or sockets.

But wait... there are legitimate reasons that an application may need to access the file system. Is this restriction only on the client machine for the browser application itself, or for server development as well. For example, my Silverlight application today talks to a WCF service that grabs documents off a file share and streams them to the client. I don't see how this would be possible if the WCF service couldn't talk to the file share. So, does "full" .NET remain available the WCF environment or does all appdev have to go through this sanitized WinRT stuff? But, this article doesn't really discuss server-side development at all. Maybe .NET will still exist as-is for non-web applications? Or something completely different? I can't see how they could disallow a windows application or a service from filesystem IO.

Honestly, I'm concerned about what the printing capability will be with this Metro / WinRT platform. One of the big problems we had with Silverlight was that it's printing support was insufficient for LOB application needs, where a user does NOT want to click the print button on every single page, but wants to spool a bunch of docs to their printer at once. We had to embed a WPF application (which runs in full trust) in our application to handle this kind of printing. I am guessing from their "security" concerns that we won't get this kind of support with WinRT either.

All in all, I am still rather concerned about the future of MS development and what will be available to meet our needs, both in the short term (why start a new project in Silverlight when you know it's going to be deprecated) and in the long term.

Edited to add: I have since learned a bit more and WinRT as a platform only affects Metro mode for Windows 8. Realistically speaking, Metro mode has so many limitations that only tablet users would ever choose to use it. Additionally WinRT is for building Windows apps for the Metro mode -- not apps to run in the Metro browser, which is just IE with no plugin support whatsoever.

So, I have become much more pessimistic. See my next post for more detail.

0 comments: