Papa's Perspective
Silverlight Skills Carry Over to Windows 8 'Metro Style' Apps
Windows 8 is an early preview, but has enough of its shape to show XAML developers that their skills are applicable.
Good news, XAML developers: In "Windows 8," your skills are still valuable. The past year included some rough spots for many XAML developers and designers who are trying to make sense of their future. Where is Silverlight heading? What's the road like for Windows Presentation Foundation (WPF)? The good news is that we now know that Windows 8 has a plan for both XAML/C# and HTML5/JavaScript (and Visual Basic and C++) developers to build "Metro style" apps.
As a former evangelist for Silverlight and Windows 8, believe me, I understand there are many questions about the future. Quite often these questions are shaped by where we work, the work we do and other influencing factors. The binding factor between most of the folks asking these questions is their investment in their Silverlight skills. It's a fair question, as folks want to know that they've made a good choice and their choice will have a future.
A Path for XAML Developers
What about developing for Windows 8 with XAML, which was recently unveiled at the Microsoft BUILD conference in September? Windows 8 is an early preview but has enough of its shape to show XAML developers that their skills are indeed very applicable. Is it perfect or whole? Of course not, it's a preview. But the key is that there's a path for XAML developers, and it's a good path.
On the coding side, there's a path for developers to write with C# and Visual Basic using many of the APIs that they're familiar with in the new Windows Runtime (WinRT). The Visual Studio 11 Developer Preview now has more features, including a ton of the ones that were formally only included in Expression Blend. Of course, XAML is still XAML, the intrinsic controls haven't changed much, and there are even some new controls that pertain specifically to Windows 8 Metro apps (GridView and FlipView, for example). The bottom line is that it won't take long for any XAML-based developer to get up to speed on Windows 8 Metro apps. There are new aspects to learn, too, like integration with Windows 8 and its new features such as charms, settings and search. But these are really just new APIs that can be learned and integrated into Metro apps.
So, if you're skilled at developing with Silverlight, WPF and Windows Phone, then you already have a leg up on learning to build Metro apps with XAML.
Metro Style or Bust?
Microsoft said that Silverlight (and all of your desktop apps) run on Windows 8 in the desktop. So before you start trying to figure out whether you can convert your project to a Metro app, you should carefully consider the business value for doing so. That's a question that you're most certainly more qualified to answer than I am.
Some apps will benefit, some won't, and some may fall in between. It's these tweeners that are interesting. Perhaps there's an app that makes sense as a desktop app, but a new version of it could add value as a Metro app. Maybe the audience is different: maybe this is not a conversion, but rather an expansion. Again, these are questions you should be asking yourself and then deciding where to go.
Expanding Your Skillset
Technology changes. It's the beautiful and often painful part of our industry. We learn, refactor and relearn. You could say our work lives are a bit like an iterative and Agile project. XAML skills are still valuable for both Desktop and Metro apps on Windows 8. What about HTML5? If you want to learn HTML5, JavaScript and CSS to write Metro apps, I say go for it. I've got a background in all of those technologies and experiences with the pros and cons of both.
But let's not confuse the issues here: Just because there are options does not mean one has to win and the others have to lose. The development options for Windows 8 will appeal to different types of developers.
All that said, I strongly feel that having skills in both XAML/C# and HTML5/JavaScript/CSS will only enhance your own skillset and value. Also, truly understanding how to develop with both will give you a balanced perspective on their merits. I intend to continue to work with both sets of technologies. And that is Papa's Perspective.
About the Author
John Papa is a Microsoft Regional Director and former Microsoft technical evangelist. Author of 100-plus articles and 10 books, he specializes in professional application development with Windows, HTML5, JavaScript, CSS, Silverlight, Windows Presentation Foundation, C#, .NET and SQL Server. Check out his online training with Pluralsight; find him at johnpapa.net and on Twitter at twitter.com/john_papa.