Nico Vuyge's blog

Taking the blue AND the red pill

Announcing 40 days of Windows 8 Metro and WinRT development.

Nico Vuyge

Alea iacta est.

I have decided to invest a significant amount of time into learning to develop for the new Windows Runtime and Metro user interface in Windows 8. Over the course of the remainder of 2012, I will dedicate 40 working days (around 1/5 FTE) to learning WinRT. And I am not counting the hours I'm spending in the evenings and weekends.

Why am I doing this?

As a consultant, it is very important to stay on top of the new developments in my area of expertise. Having developed uniquely for the Windows platform with Microsoft tools over the last 20 years since I graduated, WinRT represents a once in a decade change in the way Windows applications are developed. WinRT is huge and it is the future of Windows. I have attended the Build conference and have spent at least twice as much time watching recorded sessions of Build. I've come to the conclusion that there isn't enought time in the evenings and the weekends to get a deep understanding of the vast majority of the Windows Runtime APIs. On top of this, concurrently with the arrival of Windows 8, there's a renewed interest in C++. There's this new C++ 11 standard, with quite a few features that make C++ much more similar to C# in terms of ease of use, while still having the pure and raw power of C++. At the same time, WinRT makes it again possible, after a decade of stagnation in MFC, to write C++ based modern user interfaces on Windows. The combination of the new reimagined Windows, and a reimagined C++ language makes it irresistible to me to invest a large amount of time in these topics (I just had to use the word 'reimagined' here).

What do I expect from this?

I expect to:

  • Gain a deep understanding of the workings of WinRT.

  • Expand my C++ knowledge to the new C++ 11 features, and to experience the new modern C++.

  • Collect some quantitive data on the appropriateness of C++ versus C#. When I started this blog almost 7 years ago, I expected to balance between the managed and the native world. In reality, the last few years have mostly been a blue pill experience. Going forward, I'd like to balance this blog with red pill posts.. If this blue pill/red pill thing doesn't make any sense to you, please read this.

  • Publish at least 2 apps in the Windows Store, with at least one of those written in C++ and available both for ARM and x86. As the saying goes: "The proof of the pudding is in the eating".

What can you expect from this?

It is my intention to document this journey on this blog:

  • I hope to find the time to write a post on this blog every day I work on this.

  • Learn to avoid the mistakes I will make.

  • Get a better understanding of the performance differences between Metro apps written in C++ versus C#. I doubt I'll write anything about the JavaScript support in Metro apps though.

Coming up next.

Post 0 (you know that real indexes start at zero, do you?) should come in the beginning of March, and will most likely document my experience in upgrading my various Windows 8 machines from the Developer Preview distributed at Build, to the Consumer Preview that should become available in a couple of days.