Apps werden mit einer Managed-Sprache, die auf dem CLI (Common Language Interface) basiert geschrieben unter Verwendung von Silverlight und XAML. Dabei wird C# am besten unterstützt, aber alle CLI-Sprachen funktionieren, also auch F#, VB.NET und auch C++/CLI. Das ist schliesslich einer der Vorteile der Managed .NET-Sprachen. Man ist Sprachunabhängig.
Bei den Apps wird sich mit Windows 8 – welches gerüchteweise mit dem Apolloupdate ebenfalls auf die Windows Phones kommen wird – einiges tun. Unter Windows 8 (und damit vermutlich auch auf dem Phone) entwickelt man Apps gegen die Windows Runtime (WinRT). Dies ist ein Nachfolger des COM-Paradigmas und basiert in Teilen auf dem .NET-Framework. Entwickeln kann man auch Sprachunabhängig dagegen. Unterstützt werden dabei: natives C/C++, alle CLI-Sprachen (C#, F#, C++/CLI), aber auch HTML5 und JavaScript. Zusätzlich gibt es eine neue Sprach-Erweiterung für C++, nämlich die Component Extensions (C++/Cx) die der Entwicklung für WinRT dienen. Diese sind sehr hilfreich, können aber auch nur als Brücke eingesetzt werden.
Bei den Games sieht es etwas anders aus. Bisher können auf dem Windows Phone Games nur mit XNA entwickelt werden. Dies ist eine Art Managed-Wrapper über DirectX. Dazu können ebenfalls alle managed CLI-Sprachen verwendet werden (z.B. C#, VB.NET, C++/CLI, F#, Boo). Dies erschwert die Portierung von einer bestehenden Code-Basis leider erheblich und exakt das ist der Grund warum viele Spiele bzw. Plattformen/Engines (Unity3D, Unreal-Engine) leider nicht ohne weiteres portiert werden können. Aus diesem Grund wird sich in Windows 8 hier ebenfalls etwas ändern (siehe oben, Apollo-Update). In Windows 8 empfiehlt Microsoft zur Entwicklung von Spielen DirectX/C++ in der nativen Variante. Dies behebt effektiv die gerade genannten Punkte und öffnet alle Win8-Plattformen für alle Entwickler. Dabei ist DirectX/C++ aber nicht die einzige Möglichkeit. XNA wird auf ein paar Plattformen weiterhin laufen (z.B. Desktop, lt. Microsoft auf dem Phone), auf anderen jedoch nicht (Geräte mit ARM-Prozessoren, hauptsächlich Tablets). Trotzdem ist dies nicht die einzige Möglichkeit zur Entwicklung von Spielen unter Windows 8. Sogenannte Metro-Style-Games (welches die einzigen Games sind, die im Windows Marketplace angeboten werden können) können auch mit SharpDX, SlimDX oder dem ANX.Framework in einer Managed-Sprache entwickelt werden. Die Sprache ist dabei grundsätzlich egal, trotzdem empfiehlt Microsoft DirectX/C++.