Although iPhone is still by far the best platform to make money on or be able to have the highest quality experience for your apps, WP7 is my favorite platform to develop on with Android not far behind.
- Microsoft has taken the best compromise for the submission process. Approval is fairly quick (about 2 days) but it can filter out the large quantities of junk you get on Android. I’m happy to have somebody check that my app works fine on whatever device they test it on too.
- The development environment is seamless. You click on a .sln file to launch your project and then click Run. Voila. I admit that I’ve spent many more years developing in Visual Studio than Eclipse or Xcode but in the last couple years I’ve been using Eclipse/Xcode/vi, and Visual Studio just seems a quicker, smoother experience for jumping around, refactoring, debugging, etc. (It should be given its more limited scope.) When starting Mac development I remember reading this really long Get Started document about how Xcode/IB made so many things so easy. It must have said it was easy half a dozen times at least. So when you compare it to the case where you don’t have the concept of opaque resource bundles/File’s Owner/First Responder, it validates my initial impression that the architecture was a heck of a lot more obscure than it needed to be.
- C# is a somewhat better language than Java (delegates/better annotation model) and Objective-C sucks compared to either of them (memory management, allowing dereferncing null pointers [edit: doesn't complain when sending a message to a nil object though this is probably not what you want], useless to learn for other development).
- Android is better for being able to develop on your platform of choice (though I suspect developing on Mac is best supported) but WP7 isn’t that far behind since you can at least run Windows inside a virtual machine but that’s against the rules for Mac. [Edit: According to a comment, it isn't possible to run WP7 emulator in VM]
- In terms of payments and reporting, WP7 still has some maturing to do but it looks like they are off to a good start and it looks to me like WP7 users are more willing to pay for apps vs Android (though of course the market is relatively small now). The key/unique thing to understand with Android payments is that you are legally acting as the seller, not Google. This means that you are the one the customer calls when something goes wrong related to payments or installation. Not so for Microsoft or Apple.