Quantcast
Channel: Nathan Yendell
Viewing all articles
Browse latest Browse all 11

Windows 8 and Silverlight

$
0
0

So, the dust has settled on Build and what can we take away from this big Microsoft reveal?  Here are my thoughts:

Windows 8 from a user perspective

Windows 8 Start Screen

Windows 8 Start Screen

My experience here is based on installing the Windows 8 Developer Preview on a virtual machine and video coverage from Build, i.e. limited.  However, even on paper I think there’s a lot to be excited about.

  • Windows becomes viable on a tablet with the new Metro style UI.  More than viable, it opens up many new possibilities.  I love the idea of having a single tablet device which can be used as a media consumption device, then docked with a large monitor, keyboard, and mouse for productivity/development work.
  • Less resource hungry – using up to 30% less memory compared to Windows 7.
  • Boots in as little 8 seconds with the right BIOS and SSD.
  • Compatibility – everything that worked on Windows 7 will work in Windows 8’s desktop mode.
  • Support for ARM
  • Task management – simplified to the point where most users won’t even know what it is.

Windows 8 from a developer’s perspective

Windows 8 Platform

Windows 8 Platform

Well, the good news is that the platforms we’ve all invested in are still fully supported in Windows 8…desktop apps.  In the new Metro style apps?  Not so much.

I’ll quickly qualify that; there is no direct port.  Metro style apps are based on the brand new WinRT (Windows Runtime) APIs which looks almost identical to the .NET API save for a couple of namespaces.  Don’t be fooled however, this isn’t .NET, if anything it’s closer to COM – a low level wrapper to the Windows Kernel.

The new WinRT offers the following benefits to developers:

  • Choice of language (XAML and C# sound familiar?)
  • An easy migration from Silverlight or Windows Phone
  • Migration from WPF with a bit more work
  • Great performance
  • Hardware accelerated graphics
  • Compile once, run on Intel and ARM
  • Windows App Store
  • Rich support for touch and other sensors
  • Sandboxed and safe for users

As you can see from the diagram above, Microsoft has introduced a clear split between the desktop and Metro style applications, and now has two clearly distinct stories for developers.

Moreover, I think having the ability to write Metro style apps using HTML5/JS is more about attracting web developers and building an eco system, than enabling code re-use for the web. Even with good design and separation, calls to WinRT will limit the amount of code that can be dropped straight into a pure web version of an application.

What does this all mean for Silverlight?

The way that Microsoft has handled communication about Silverlight in the past 12 months can only be described as a disaster.  It started in October 2010 with Bob Muglia announcing the shift in strategy and that “HTML is the only true cross platform solution for everything”.  Now this actually makes sense to me as it would be almost impossible to produce a quality Silverlight runtime for the constantly increasing number of mobile devices on the market, and I personally think that Silverlight is best suited to line of business (LOB) and rich media web applications anyway, but this sowed the seeds of doubt.

Since February 2011 the community has been told to wait until the Build Windows  conference where “all will be revealed”.  Build is now drawing to a close, so do we now have all the answers?  I’d say we have some answers, but a lot more questions.

  1. Is Silverlight dead?
    With a lot of the MS Silverlight team being moved from DevDiv to WinDiv, the amazing Scott Guthriebeing moved on to Azure, and the Metro style version of IE10 not supporting plug-ins (no Flash, no Silverlight), there have been some undeniably negative signs.Keeping things in perspective though, Silverlight 5 is just about to be released and has some amazing new capabilities.  Silverlight will be fully supported in the desktop version of IE10 on Windows 8, and if there isn’t a Silverlight 6, SL5 will be supported by Microsoft for at least until 2020.
  2. Does HTML5+JS offer a credible alternative?
    HTML5 is a draft specification which has inconsistent levels of implementation across different browsers.  IE9 is the first version of IE to support HTML5 and even then it only supports a subset of the functionality.IE10 is looking more comprehensive but the large number of Windows XP users (only recently surpassed by the number of Windows 7 users) cannot upgrade beyond IE8 and will need to work out how to install Chrome/Firefox.  I also believe IE10 is tied to the release of Windows 8 so we’re looking at the middle of 2012 and an OS upgrade.Companies like Netflix or the BBC and its brilliant iPlayer cannot jump to HTML5 until there is support for DRM.  There is also disharmony about HTML5’s video codec, and it’s looking likely user may need to install an add-on (hmm, hang on a minute).  How about a consistent 3D API? Nope, there’s arguments there too with WebGL not being adopted because it threatens DirectX.
  3. Which technology should I use if I’m starting a new rich line of business application today?
    There is no right answer, and of course it all depends greatly on your requirements and target audience.  Silverlight remains the only technology in the Microsoft toolbox for offering a guaranteed consistent rich experience across Windows XP / Vista / 7 / 8 / Mac / IE / Firefox / Safari /Chrome.  That said, HTML5+JS has greater reach.  That said, even Google now admits that JavaScript isn’t great for medium complexity development.  I think it’s going to be all about a layered approach with the experience tailored to the browser’s capabilities.

It’s well known that the only constant thing in technology is change.  I’m pretty excited about Windows 8 and the opportunities Metro style apps and the Windows App store bring to the table.

A good software engineer is not defined by a particular technology, and part of the reason development is fun is because there’s always new things to learn.  If you use Silverlight today, your XAML and C# skills will remain highly relevant and marketable for Windows 8 Metro style apps, WPF and Silverlight.  I’ll certainly be diving deeper into WinRT, whilst continuing to explore HTML5, so that I can deliver the appropriate solution to the required audience whatever they’re running.



Viewing all articles
Browse latest Browse all 11

Latest Images

Trending Articles





Latest Images