It seems that Apple has so far gone the furthest of any mobile platform in creating a good all-around developer ecosystem (SDK, app distribution, monetization, etc). However, reading the comments from previous SO questions on mobile development (e.g. this and this), certain criticisms seem to pop up, such as the following:
- Objective-C, though a nice language, is not really used outside of Apple products.
- The development environment and tools do not match what Microsoft has to offer with Visual Studio and .NET.
So, I am wondering about the viability of Apple's ecosystem in the longer term (i.e. 2-4 years). If Windows Mobile 7 phones (projected to be released in a year or so) gain market share, will the iPhone development environment be able to compete with .NET + Visual Studio (plus whatever "App Store"-type distribution mechanism Microsoft comes out with)? Judging from what I have read about iPhone development, I get the impression that we might see gradual attrition of developers to Windows Mobile since most will prefer to develop with Microsoft's suite of tools.
For developers who have experience with either of these platforms, what are your impressions on this topic? Does the iPhone platform have long-term viability (versus Windows Mobile) that goes beyond its initial advantage of having more market share?
==
Edit: fair points about the advantages of the App Store. But I'm curious about long-term potential of the two platforms, and it seems only a matter of time before Microsoft comes out with its own app store (e.g. SkyMarket) that makes installation as easy as it is on the iPhone. (Though the iPhone's app store might prevail because it came first.)