I own N1 and iPhone 4 and I believe that N1 is a superior phone. It doesn't need to be plugged to a computer for everything and as a phone it works much better on TMobile than iPhone does on AT&T: the reception is worse on the iPhone, it wouldn't accept MMS or SMS with non-English characters in 2010. WTF. The software (Android) is totally in a different league too: integration with Google calendars, maps and contacts is truly amazing, and you quickly get used to your phone automatically recognizing phone numbers and addresses in arbitrary text.
Another huge thing is Google Voice: you can dial any number straight from your address book without even worrying which country you're calling to, that's mind blowing to me (and I use it daily).
I bought both because we're doing software development for both, but I'm not proficient enough to comment on their APIs and programming environments. I do prefer Objective-C to Java though