Microsoft doesn't want there to be bad Windows Phone 7 phones.
In broad terms, the argument is similar to that made by Apple, whose iPhone OS also has multitasking and also restricts its use by developers.
3. Native applications are not permitted on Windows Phone 7 devices.
All Windows Phone applications are what Microsoft calls "managed code" and will execute within one of two runtime environments: XNA Game Studio for games, or Silverlight for all other applications.
With Windows Phone 7, Microsoft is resolved to provide users and phone developers with a highly consistent operating system. One part of that consistency is a standard, unchangeable hardware specification, jointly developed with handset and mobile carrier partners. A second element is the overall design of the primary user interface -- the way the user interacts with his phone, its content and applications.
The third part is a variety of "limitations" (some of these may change in future Windows Phone releases) that serve Microsoft's overriding priority of ensuring a fluid, highly personal, reliable, problem-free user experience of Windows Phone devices. The banishment of native applications is one. Another is that applications can be installed only via the Windows Marketplace service: there is as yet no "demand loading" of software.
For some developers on the older versions of Windows Mobile (now called Windows Phone Classic), the managed code environment will chafe. One developer commenting on the official Microsoft Windows Phone Developer Blog noted that it seems likely he will no longer now be able to use unmanaged or "unsafe" features in .NET where doing so yields performance benefits. (See the blog here and scroll down to the "Posted on: March 15, 2010 at 9:05PM" by Pavel Minaev.)
4. Developer access to Microsoft SQL Server Compact, a free SQL Server embedded database, is not part of the initial release, so your database options are limited to start with.
Microsoft is using SQL Compact as part of Windows Phone to support various capabilities in the operating system, according to Microsoft's Kindel. The database enables such things as sharing data between some programs in the "hubs," which provide a set of common tasks to groupings of content and applications, such as photos, music and Microsoft Office applications.
Kindel says developers can create "isolated" local storage based on XML files and a data engine on top of them. The other alternative is cloud-based storage: Several MIX10 demonstrations have underlined the ease with which developers can incorporate a wide range of resources in Azure, Microsoft's cloud platform. One of those resources is SQL Azure, a cloud implementation of SQL Server.