Microsoft Update: Different is often good. Especially when it’s different for good reasons. Windows Phone 7 Series is different because we reset everything we were doing to focus on end user experience. This extends directly to the .NET developer platform.
One of the implications is that “previous Windows mobile applications will not run on Windows Phone 7 Series.” Microsoft will continue to work with OEMs who want to create new devices based on Windows Mobile 6.5, but they are very clear that older applications cannot be carried to the new platform without being rewritten. The question is: what manufacturer will create phones for Mobile 6.x?
The development platforms are: .NET via Silverlight or XNA plus Visual Studio 2010 and Expression Blend. That means no native code, no Windows API calls. This makes some developers quite unhappy, as this comment written by user tamberg shows:
Platform continuity was the single most important feature of Windows Mobile 7. Being able to run code from 2003 on a current phone is more important to our customers than a fancy UI (which Microsoft seems not able to get right anyway). Further, the ability to access hardware specific APIs through P/Invoke has been vital in many of our projects (e.g. to use Bluetooth in the early days). Those advantages have now gone. You just rendered useless years of development work and many thousands of lines of code.
“we will continue to work with our partners to deliver new devices based on Windows Mobile 6.5 and will support those products for many years to come”
There are also implications that the platform will be reasonably locked down—like iPhone, unlike Android. The documents state that all applications (both regular apps and the OEM special software) will have to run in a “security chamber,” and will be installed in a dedicated “user store” (which may mean that access to the rest of the storage is off-limits). Adherence to the managed APIs and limited set of native APIs will be verified by Marketplace to ensure developers only do that which is documented and supported; again, very much like the situation for the iPhone. Whether applications will be available without the Marketplace system (and what capabilities such applications might have) is another unknown.
Developers have a website with various tools, guides, documentation and code samples helping to create Windows Mobile applications. The Phone Developer Tools CTP package contains the following: Visual Studio 2010 Express for Windows Phone CTP, Windows Phone Emulator CTP, Silverlight for Windows Phone CTP, and XNA 4.0 Game Studio CTP. One interesting fact is that Windows XP is not supported, only Vista and Windows 7 are.