Onward and Upward

Blog archive

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

comments powered by Disqus


  • Microsoft's Tools to Fight Solorigate Attack Are Now Open Source

    Microsoft open sourced homegrown tools it used to check its systems for code related to the recent massive breach of supply chains that the company has named Solorigate.

  • Microsoft's Lander on Blazor Desktop: 'I Don't See a Grand Unified App Model in the Future'

    For all of the talk of unifying the disparate ecosystem of Microsoft-centric developer tooling -- using one framework for apps of all types on all platforms -- Blazor Desktop is not the answer. There isn't one.

  • Firm Automates Legacy Web Forms-to-ASP.NET Core Conversions

    Migration technology uses the Angular web framework and Progress Kendo UI user interface elements to convert ASP.NET Web Forms client code to HTML and CSS, with application business logic converted automatically to ASP.NET Core.

  • New TypeScript 4.2 Tweaks Include Project Explainer

    Microsoft shipped TypeScript 4.2 -- the regular quarterly update to the open source programming language that improves JavaScript with static types -- with a host of tweaks including a way to explain why files are included in a project.

Upcoming Events