Metro - Not A .NET Killer
Recently I have had quite a few people come running up to me in a panic, worried that Windows 8, its new WinRT API, and its consumer-oriented UI (Metro) is going to kill .NET as we know it. Well breathe a sigh of relief because .NET isn't going anywhere. There is absolutely no reason to worry and if you think there is then you simply have not read enough about what Metro actually is. After hearing all the commotion about Windows 8 I immediately took to Google and began my search to learn more.
I was immediately greeted with numerous articles explaining that .NET isn't dead and that Metro is not replacing it. At first I wondered if this was simply a defensive response from .NET developers refusing to embrace change, but after learning more I realized they were telling the truth. Metro is not what I thought it was at first. It is true that the WinRT API is a new API that removes some of the disadvantages that consumer apps were forced to overcome. While the WinRT API will likely grow and eventually completely replace Win32, its new Metro-style interface is not for line of business applications in the slightest. You will be developing your complex line of business apps the way you are used to. There is a perfect article that clearly explains what Metro is, here, and I pulled a great quote from the article that shines a light on how you should think about Metro.
Think of Metro as a dedicated, stand-alone platform for a casual, consumer-focused experience. It is not being designed for high-volume productivity. It is being designed, in short, to compete with the iPad. If your app is not a good fit for iPad, then it’s probably not a good fit for Metro, either.
None of this means productivity is dead; it means “There is a new casual OS – make sure you know which one is appropriate for your app”. What is changed, and what is new, is that consumer-focused apps (think: Angry Birds, Twitter, Web Browser) no longer must “shoe-horn” themselves into the productivity Desktop experience. These types of apps are now free to stretch their legs in a casual, consumer-focused environment build just for them. It is the proverbial “Angry Birds” developer that must change and learn this new Metro stuff. LOB/productivity apps do not need to move from the Desktop.
After reading that article I realized that Metro is nothing but a great thing. It does not deprecate .NET one bit. All Metro does is improve both the casual consumer experience and the casual application developer experience. As the above quote says, no more "shoe-horning" casual applications on top of an OS that was not designed with that experience in mind. For many developers it changes nothing; You will still design your productivity apps in windows the way you always have. Photoshop will likely still be a desktop app and other similar applications will not fit the new Metro style either.
Bottom line
Before you go running down the streets screaming that the sky is falling, do a little more investigating and see for yourself what is really going on. All the noise on Twitter and other social networking sites about Metro killing .NET is absurd. Personally, I am excited to see how this new OS handles itself. It seems like the first attempt to create a single consumer-oriented operating system that can span many devices and scale nicely. I can't make any predictions about how it will fair against the competition. What I can tell you that it impacts web development very little (we were all transitioning to HTML5 anyway) and it in no way impacts line of business applications that require a rich GUI to accomplish complex tasks.
So relax. Embrace change.