MOVING FROM WINDOWS TO MAC for iOS/Android (Eclipse) development
To develop for iOS - you will need to buy an iMac - the cheapest/powerful option is to go for the desktop iMac - base model. Connect it up to your own LCD monitor.
For laptops - choose the MacBook Pro - base model. Avoid the MacBook Air - as they are more expensive (and slim which is an advantage) - but they have no CD (no big deal), and they tend to overheat a bit more (if you are doing a lot of stuff). Not overheat a lot but in the sense that the MacBook Pro will not overheat at all.
Basically for a developer the MacBook Pro will be more robust.
You can probably avoid going for the retina display (higher end models) - since for most things you won’t even see the details on the screen from far away (plus more pixels means more work for the CPU etc. and potentially overheating/battery-life etc. related stuff).
HOWEVER, I seem to have heard that if you make apps for the iPad with larger screen resolution, then it is easier to run a full screen emulator for that on a high-res display - compared to the non-retina display - or something like that. That is something which you should re-confirm.
For those transitioning from Windows to Mac - it will take about a month to acclimatize yourself with the new environment (which means knowing what the shortcuts are for doing certain things - first starting with doing everything that you used to on Windows). Fortunately, for Eclipse users, and for development for Android, it is equally easy to use - and in some ways perhaps maybe slightly better (because of the built-in unix tools). Eventually, you will get comfortable developing on Android on Mac - just as well as you were on Windows.
DEVELOPER CONCERNS MOVING TO iOS
Now some impressions, and my own feelings on the matter.
About a year ago (after I had published a couple of apps on Android) - I had thought about switching over to the Mac - the intent being so I could slide into developing for iOS also.
One big motivator was that Google paid apps are not available to me - but I can publish paid apps on iOS (again Google’s slow expansion of their paid app country list etc.).
HOWEVER, the reality is that I have had no time to delve into iOS in any detail - so far !!
I think adding to that is the sense (which I already had before) - that Android will expand 2x or 4x in next 1-2 years (which has come true) - while iOS will stagnate (in relative terms) because of it’s higher priced products. Android will transition so it begins to occupy the very low end of the market AS WELL (esp. in underdeveloped countries and Asia etc.). So the numbers will balloon HUGELY - which has happened - and is happening.
The ONLY advantage iOS had - and still retains - is that their customer base is RICHER - and more willing to pay (the culture in iOS has developed so that they are more accustomed to paying). In comparison Android is growing more at the lower end - and those people are less likely to want to pay (even though payment of $1 is not a lot even in poorer countries - but perhaps the requirement of credit card will still restrict for low-end users). Add to this that the Android system is not designed to push payments - though it seems in-app payments are a success story on Android (compared to paid apps - in-app payments get more traction - 2x or 5x according to some posters on this forum). However as indicated above - in-app payments also are not something available to us (Google not expanded paid countries enough).
So while iOS has retained some “value” - mainly because they allow paid apps from my location - that is tempered by the Android growth future (which bodes well for advertising-based revenue even from low-end users).
The story would be simple - however it became complicated when I started seeing stories about the “discoverability” on iOS being as bad (or worse ?) than Android.
The other thing which seemed like a brick wall for me - was the Objective-C and other info required to develop for iOS. After spending time on Android - and seeing how on starts to see nuances and how to do certain things - one starts to feel just how much of an idiot one will be on iOS - and the type of detail that must exist there as well before one is able to do some stuff - that one is only now becoming comfortable with on Android.
In other words - as developing on Android seems to get slightly easier - one begins to realize how much of a distraction it will be developing for iOS.
Add to that the feeling that iOS maybe a dying platform - even though it still occupies a place for rich users.
Add to that the uncertainty over discoverability on iOS.
At the time I bought the Mac - I was thinking that if an app succeeds - I might get better traction if I hired an iOS developer to develop the first app. And maybe that would still be the best way to motivate a start maybe - because otherwise I am feeling no inclination to start anything on iOS. Also working with someone will make this more like a business decision (which it is because you ARE essentially going after the rich iOS users with their inclination to pay etc.). Also with another iOS developer, you will be able to quickly resolve issues which can only be felt by a seasoned user of that platform.
Perhaps the real reason for lack of motivation to develop for iOS is that I am not an iPhone user - and I don’t own a iOS device.
This is something which I was thinking about recently as well - that if someone does not have the device - they cannot really feel like how to develop something for that platform. Or to think about how a user interface should be etc. So it could be argued that well before buying a Mac, perhaps the developer needs to buy an iPhone and start using it on a daily basis.
Because otherwise they will develop no feel for the platform - or even mentally feel that platform has value.
Anyway, so that is where I stand. Though I occasionally think about developing for iOS - somehow I cannot motivate myself to do so - and it is not just “for lack of motivation” . I think the real reason is that moving to iOS NOW seems like you are stepping onto the deck of a sinking ship (albeit a ship which still has many years of buoyancy left).
So the question I guess in the mind becomes “do I want to learn Objective-C and all the intricate knowledge of iOS” for that 2-3 years of viability or something … ? Something like however seems much more palatable if one thinks about having a subcontractor do the job (if you know you have a good app idea - or perhaps a slam dunk app from Android that you are pretty sure will do well also on iOS).