What C++ Means to Windows Phone 8
What's your favorite thing about developing for Windows Phone 8? Is it the new CoreCLR that replaces the .NET Compact Framework, providing unity across both the smartphone and Windows 8 tablet platforms? Is it the inclusion of the async programming model? Maybe the code generation that now happens in the Windows Store cloud, speeding up app delivery by, potentially, a lot? The fact that the annoying SDK delay is finally over?
For developer Bill Reiss, it's none of the above. He has an interesting blog entry on his site about the most exciting thing for him when it comes to building apps for Windows Phone 8: it's the fact that devs can now code natively in C++. He writes:
"...I really think that the changes made in Windows Phone 8, especially the ability to write apps and games in C++ makes a huge difference, and now I think you will see Windows Phone be a first class citizen with developers because they won't have to do nearly as much to support the Windows Phone platform."
It's an important point to make, I believe. The first priority for Windows Phone 8 is to have a great, user-friendly OS that's differentiated from the competition, meaning Android and iPhone.
Windows Phone 8 looks, feels, and is completely different from its rivals. Next up comes the app ecosystem. If developers aren't creating apps that take advantage of these differences, it won't matter a lick if it's the greatest thing since the first hyperlink was clicked on -- consumers will ignore it and it becomes the next Palm Pre.
Now, I don't expect developers to migrate to C++ in droves -- most of you are C# and VB devotees, and with good reason. However, now that the option exists to use C++ for Windows Phone 8, those with specific needs for the kind of performance and scalability offered by native apps, and the skills to code it, can do so.
For instance, game developers will certainly take a long, hard look at Windows Phone 8, maybe in a way they wouldn't have before. And it's clear that games are still the most popular use of smart devices, be they phones or tablets.
Social media apps are another example. You might remember that Facebook recently rewrote its iOS app from the ground up in Objective-C, after it finally got tired of the delayed responsiveness the app had from its HTML5 roots. And who wouldn't prefer to code an app in Visual Studio using C++ than in Objective-C? It's a pretty clear choice, if the criteria is ease of development and time to market.
Of course, those aren't the only criteria; more important is the potential to make money off an app, and the size of the audience for that app. But smart choices like making C++ a viable language in Windows Phone 8 get developers like Bill Reiss excited; and excited developers tend to make exciting apps. Exciting apps can move consumers to new platforms. You know the rest.
Will you be building C++ apps for Windows Phone 8? If so, let me know what you're creating.
Posted by Keith Ward on 11/09/2012 at 1:15 PM